CCOMET_Scanner_LibraryLibrary "CCOMET_Scanner_Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing CCOMET Scanners
Loc_tIDs_Col(_string, _firstLocation)
TickerIDs: You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your CCOMET Scanner.
Locations: This function is used when there's a desire to print an assets ALERT LABELS. A set Location on the scale is assigned to each asset.
This is created so that if a lot of alerts are triggered, they will stay relatively visible and not overlap each other.
If you set your '_firstLocation' parameter as 1, since there are a max of 40 assets that can be scanned, the 1st asset's location
is assigned the value in the '_firstLocation' parameter, the 2nd asset's location is the (1st asset's location+1)...and so on.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my CCOMET Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
_firstLocation (simple int) : (simple int)
Optional (starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables in the tuple (ie. between the ' ') with the TickerIDs, 40 variables for the locations for alert labels, and 40 Colors for labels/plots
TickeridForLabelsAndSecurity(_ticker, _includeExchange)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
_includeExchange (simple bool) : (bool)
Optional (if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your CCOMET Scanner as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the CCOMET Scanner's input.
InvalID_LblSz(_barCnt, _close, _securityTickerid, _invalidArray, _tablePosition, _stackVertical, _lblSzRfrnce)
INVALID TICKERIDs: This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
LABEL SIZES: This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your CCOMET Scanner includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the Security function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') that is also outputted by this function.
_close (float) : (float)
Put your 'close' variable named '_close' from the security function here.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never registered then the logic counts the asset as INVALID.
This will be the 1st TickerID variable (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (array) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
_tablePosition (simple string) : (string)
Optional (if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional (if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here, otherwise they will all be in a row.
_lblSzRfrnce (string) : (string)
Optional (if parameter not included, it defaults to size.small). This will be the size of the variable outputted
by this function named 'assetNameLabel' BUT also affects the size of the output variable 'alertTrigLabel' as it uses this parameter's size
as the smallest size for 'alertTrigLabel' then uses the '_barCnt' parameter to determine the next sizes up depending on the "_barCnt" value.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
ابحث في النصوص البرمجية عن "the script"
MoonFlag BTC Daily Swing PredictorThis script mainly works on BTC on the daily timeframe. Other coins also show similar usefulness with this script however, BTC on the daily timeframe is the main design for this script.
(Please note this is not trading advice this is just comments about how this indicator works.)
This script is predictive. It colors the background yellow when the script calculates a large BTC swing is potentially about to happen. It does not predict in which direction the swing will occur but it leads the price action so can be useful for leveraged trades. When the background gets colored with vertical yellow lines - this shows that a largish price swing is probably going to occur.
The scripts also shades bands around the price action that are used to estimate an acceptable volatility at any given time. If the bands are wide that means price action is volatile and large swings are not easily predicted. Over time, with reducing volatility, these price action bands narrow and then at a set point or percentage (%) which can be set in the script settings, the background gets colored yellow. This indicates present price action is not volatile and a large price swing is potentially going to happen in the near future. When price action breaks through the narrowing bands, the background is no longer presented because this is seen as an increase in volatility and a considerable portion of the time, a large sudden drop in price action or momentous gain in price is realized.
This indicator leads price action. It predicts that a swing is possibly going to happen in the near future. As the indicator works on the BTC daily, this means on a day-to-day basis if the bands continually narrow - a breakout is more likely to happen. In order to see how well this indicator works, have a look at the results on the screenshot provided. Note the regions where vertical yellow lines are present on the price action - and then look after these to see if a sizeable swing in price has occurred.
To use this indicator - wait until yellow vertical lines are presented on the BTC daily. Then use your experience to determine which way the price action might swing and consider entering a trade or leveraged trade in this direction. Alternatively wait a while to see in which direction the break-out occurs and considering and attempt to trade with this. Sometimes swings can be unexpected and breakout in one direction before then swinging much larger in the other. Its important to remember/consider that this indicator works on the BTC daily timeframe, so any consideration of entering a trade should be expected to cover a duration over many days or weeks, or possibly months. A large swing is only estimated every several plus months.
Most indicators are based on moving averages. A moving average is not predictive in the sense in that it lags price actions. This indicator creates bands that are based on the momentum of the price action. A change in momentum of price action therefore causes the bands to widen. When the bands narrow this means that the momentum of the price action is steady and price action volatility has converged/reduced over time. With BTC this generally means that a large swing in price action is going to occur as momentum in price action then pick-up again in one direction or another. Trying to view this using moving averages is not easy as a moving average lags price action which means that it is difficult to predict any sudden movements in price action ahead of when they might occur. Although, moving averages will converge over time in a similar manner as the bands calculated by this script. This script however, uses the price action momentum in a predictive manner to estimate where the price action might go based on present price momentum. This script therefore reacts to reduced volatility in price action much faster than a set of moving averages over various timescales can achieve.
MoonFlag
Backtesting ModuleDo you often find yourself creating new 'strategy()' scripts for each trading system? Are you unable to focus on generating new systems due to fatigue and time loss incurred in the process? Here's a potential solution: the 'Backtesting Module' :)
INTRODUCTION
Every trading system is based on four basic conditions: long entry, long exit, short entry and short exit (which are typically defined as boolean series in Pine Script).
If you can define the conditions generated by your trading system as a series of integers, it becomes possible to use these variables in different scripts in efficient ways. (Pine Script is a convenient language that allows you to use the integer output of one indicator as a source in another.)
The 'Backtesting Module' is a dynamic strategy script designed to adapt to your signals. It boasts two notable features:
⮞ It produces a backtest report using the entry and exit variables you define.
⮞ It not only serves for system testing but also to combine independent signals into a single system. (This functionality enables to create complex strategies and report on their success!)
The module tests Golden and Death cross signals by default, when you enter your own conditions the default signals will be neutralized. The methodology is described below.
PREPARATION
There are three simple steps to connect your own indicator to the Module.
STEP 1
Firstly, you must define entry and exit variables in your own script. Let's elucidate it with a straightforward example. Consider a system generating long and short signals based on the intersections of two moving averages. Consequently, our conditions would be as follows:
// Signals
long = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
short = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
Now, the question is: How can we convert boolean variables into integer variables? The answer is conditional ternary block, defined as follows:
// Entry & Exit
long_entry = long ? 1 : 0
long_exit = short ? 1 : 0
short_entry = short ? 1 : 0
short_exit = long ? 1 : 0
The mechanics of the Entry & Exit variables are simple. The variable takes on a value of 1 when your trading system generates the signal and if your system does not produce any signal, variable returns 0. In this example, you see how exit signals can be generated in a trading system that only contains entry signals. If you have a system with original exit signals, you can also use them directly. (Please mind the NOTES section below).
STEP 2
To utilize the Entry & Exit variables as source in another script, they must be plotted on the chart. Therefore, the final detail to include in the script containing your trading system would be as follows:
// Plot The Output
plot(long_entry, "Long Entry", display=display.data_window, editable=false)
plot(long_exit, "Long Exit", display=display.data_window, editable=false)
plot(short_entry, "Short Entry", display=display.data_window, editable=false)
plot(short_exit, "Short Exit", display=display.data_window, editable=false)
STEP 3
Now, we are ready to test the system! Load the Backtesting Module indicator onto the chart along with your trading system/indicator. Then set the outputs of your system (Long Entry, Long Exit, Short Entry, Short Exit) as source in the module. That's it.
FEATURES & ORIGINALITY
⮞ Primarily, this script has been created to provide you with an easy and practical method when testing your trading system.
⮞ I thought it might be nice to visualize a few useful results. The Backtesting Module provides insights into the outcomes of both long and short trades by computing the number of trades and the success percentage.
⮞ Through the 'Trade' parameter, users can specify the market direction in which the indicator is permitted to initiate positions.
⮞ Users have the flexibility to define the date range for the test.
⮞ There are optional features allowing users to plot entry prices on the chart and customize bar colors.
⮞ The report and the test date range are presented in a table on the chart screen. The entry price can be monitored in the data window.
⮞ Note that results are based on realized returns, and the open trade is not included in the displayed results. (The only exception is the 'Unrealized PNL' result in the table.)
STRATEGY SETTINGS
The default parameters are as follows:
⮞ Initial Balance : 10000 (in units of currency)
⮞ Quantity : 10% of equity
⮞ Commission : 0.04%
⮞ Slippage : 0
⮞ Dataset : All bars in the chart
For a realistic backtest result, you should size trades to only risk sustainable amounts of equity. Do not risk more than 5-10% on a trade. And ALWAYS configure your commission and slippage parameters according to pessimistic scenarios!
NOTES
⮞ This script is intended solely for development purposes. And it'll will be available for all the indicators I publish.
⮞ In this version of the module, all order types are designed as market orders. The exit size is the sum of the entry size.
⮞ As your trading conditions grow more intricate, you might need to define the outputs of your system in alternative ways. The method outlined in this description is tailored for straightforward signal structures.
⮞ Additionally, depending on the structure of your trading system, the backtest module may require further development. This encompasses stop-loss, take-profit, specific exit orders, quantity, margin and risk management calculations. I am considering releasing improvements that consider these options in future versions.
⮞ An example of how complex trading signals can be generated is the OTT Collection. If you're interested in seeing how the signals are constructed, you can use the link below.
THANKS
Special thanks to PineCoders for their valuable moderation efforts.
I hope this will be a useful example for the TradingView community...
DISCLAIMER
This is just an indicator, nothing more. It is provided for informational and educational purposes exclusively. The utilization of this script does not constitute professional or financial advice. The user solely bears the responsibility for risks associated with script usage. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
Dividend Calendar (Zeiierman)█ Overview
The Dividend Calendar is a financial tool designed for investors and analysts in the stock market. Its primary function is to provide a schedule of expected dividend payouts from various companies.
Dividends, which are portions of a company's earnings distributed to shareholders, represent a return on their investment. This calendar is particularly crucial for investors who prioritize dividend income, as it enables them to plan and manage their investment strategies with greater effectiveness. By offering a comprehensive overview of when dividends are due, the Dividend Calendar aids in informed decision-making, allowing investors to time their purchases and sales of stocks to optimize their dividend income. Additionally, it can be a valuable tool for forecasting cash flow and assessing the financial health and dividend-paying consistency of different companies.
█ How to Use
Dividend Yield Analysis:
By tracking dividend growth and payouts, traders can identify stocks with attractive dividend yields. This is particularly useful for income-focused investors who prioritize steady cash flow from their investments.
Income Planning:
For those relying on dividends as a source of income, the calendar helps in forecasting income.
Trend Identification:
Analyzing the growth rates of dividends helps in identifying long-term trends in a company's financial health. Consistently increasing dividends can be a sign of a company's strong financial position, while decreasing dividends might signal potential issues.
Portfolio Diversification:
The tool can assist in diversifying a portfolio by identifying a range of dividend-paying stocks across different sectors. This can help mitigate risk as different sectors may react differently to market conditions.
Timing Investments:
For those who follow a dividend capture strategy, this indicator can be invaluable. It can help in timing the buying and selling of stocks around their ex-dividend dates to maximize dividend income.
█ How it Works
This script is a comprehensive tool for tracking and analyzing stock dividend data. It calculates growth rates, monthly and yearly totals, and allows for custom date handling. Structured to be visually informative, it provides tables and alerts for the easy monitoring of dividend-paying stocks.
Data Retrieval and Estimation: It fetches dividend payout times and amounts for a list of stocks. The script also estimates future values based on historical data.
Growth Analysis: It calculates the average growth rate of dividend payments for each stock, providing insights into dividend consistency and growth over time.
Summation and Aggregation: The script sums up dividends on a monthly and yearly basis, allowing for a clear view of total payouts.
Customization and Alerts: Users can input custom months for dividend tracking. The script also generates alerts for upcoming or current dividend payouts.
Visualization: It produces various tables and visual representations, including full calendar views and income tables, to display the dividend data in an easily understandable format.
█ Settings
Overview:
Currency:
Description: This setting allows the user to specify the currency in which dividend values are displayed. By default, it's set to USD, but users can change it to their local currency.
Impact: Changing this value alters the currency denomination for all dividend values displayed by the script.
Ex-Date or Pay-Date:
Description: Users can select whether to show the Ex-dividend day or the Actual Payout day.
Impact: This changes the reference date for dividend data, affecting the timing of when dividends are shown as due or paid.
Estimate Forward:
Description: Enables traders to predict future dividends based on historical data.
Impact: When enabled, the script estimates future dividend payments, providing a forward-looking view of potential income.
Dividend Table Design:
Description: Choose between viewing the full dividend calendar, just the cumulative monthly dividend, or a summary view.
Impact: This alters the format and extent of the dividend data displayed, catering to different levels of detail a user might require.
Show Dividend Growth:
Description: Users can enable dividend growth tracking over a specified number of years.
Impact: When enabled, the script displays the growth rate of dividends over the selected number of years, providing insight into dividend trends.
Customize Stocks & User Inputs:
This setting allows users to customize the stocks they track, the number of shares they hold, the dividend payout amount, and the payout months.
Impact: Users can tailor the script to their specific portfolio, making the dividend data more relevant and personalized to their investments.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
signal_datagramThe purpose of this library is to split and merge an integer into useful pieces of information that can easily handled and plotted.
The basic piece of information is one word. Depending on the underlying numerical system a word can be a bit, octal, digit, nibble, or byte.
The user can define channels. Channels are named groups of words. Multiple words can be combined to increase the value range of a channel.
A datagram is a description of the user-defined channels in an also user-defined numeric system that also contains all runtime information that is necessary to split and merge the integer.
This library simplifies the communication between two scripts by allowing the user to define the same datagram in both scripts.
On the sender's side, the channel values can be merged into one single integer value called signal. This signal can be 'emitted' using the plot function. The other script can use the 'input.source' function to receive that signal.
On the receiver's end based on the same datagram, the signal can be split into several channels. Each channel has the piece of information that the sender script put.
In the example of this library, we use two channels and we have split the integer in half. However, the user can add new channels, change them, and give meaning to them according to the functionality he wants to implement and the type of information he wants to communicate.
Nowadays many 'input.source' calls are allowed to pass information between the scripts, When that is not a price or a floating value, this library is very useful.
The reason is that most of the time, the convention that is used is not clear enough and it is easy to do things the wrong way or break them later on.
With this library validation checks are done during the initialization minimizing the possibility of error due to some misconceptions.
Library "signal_datagram"
Conversion of a datagram type to a signal that can be "send" as a single value from an indicator to a strategy script
method init(this, positions, maxWords)
init - Initialize if the word positons array with an empty array
Namespace types: WordPosArray
Parameters:
this (WordPosArray) : - The word positions array object
positions (int ) : - The array that contains all the positions of the worlds that shape the channel
maxWords (int) : - The maximum words allowed based on the span
Returns: The initialized object
method init(this)
init - Initialize if the channels word positons map with an empty map
Namespace types: ChannelDesc
Parameters:
this (ChannelDesc) : - The channels' descriptor object
Returns: The initialized object
method init(this, numericSystem, channelDesc)
init - Initialize if the datagram
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object
numericSystem (simple string) : - The numeric system of the words to be used
channelDesc (ChannelDesc) : - The channels descriptor that contains the positions of the words that each channel consists of
Returns: The initialized object
method add_channel(this, name, positions)
add_channel - Add a new channel descriptopn with its name and its corresponding word positons to the map
Namespace types: ChannelDesc
Parameters:
this (ChannelDesc) : - The channels' descriptor object to update
name (simple string)
positions (int )
Returns: The initialized object
method set_signal(this, value)
set_signal - Set the signal value
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to update
value (int) : - The signal value to set
method get_signal(this)
get_signal - Get the signal value
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to query
Returns: The value of the signal in digits
method set_signal_sign(this, sign)
set_signal_sign - Set the signal sign
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to update
sign (int) : - The negative -1 or positive 1 sign of the underlying value
method get_signal_sign(this)
get_signal_sign - Get the signal sign
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to query
Returns: The sign of the signal value -1 if it is negative and 1 if it is possitive
method get_channel_names(this)
get_channel_names - Get an array of all channel names
Namespace types: Datagram
Parameters:
this (Datagram)
Returns: An array that has all the channel names that are used by the datagram
method set_channel_value(this, channelName, value)
set_channel_value - Set the value of the channel
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to update
channelName (simple string) : - The name of the channel to set the value to. Then name should be as described int the schemas channel descriptor
value (int) : - The channel value to set
method set_all_channels_value(this, value)
set_all_channels_value - Set the value of all the channels
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to update
value (int) : - The channel value to set
method set_all_channels_max_value(this)
set_all_channels_value - Set the value of all the channels
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to update
method get_channel_value(this, channelName)
get_channel_value - Get the value of the channel
Namespace types: Datagram
Parameters:
this (Datagram) : - The datagram object to query
channelName (simple string)
Returns: Digit group of words (bits/octals/digits/nibbles/hexes/bytes) found at the channel accodring to the schema
WordDesc
Fields:
numericSystem (series__string)
span (series__integer)
WordPosArray
Fields:
positions (array__integer)
ChannelDesc
Fields:
map (map__series__string:|WordPosArray|#OBJ)
Schema
Fields:
wordDesc (|WordDesc|#OBJ)
channelDesc (|ChannelDesc|#OBJ)
Signal
Fields:
value (series__integer)
isNegative (series__bool)
words (array__integer)
Datagram
Fields:
schema (|Schema|#OBJ)
signal (|Signal|#OBJ)
Rolling VWAP█ OVERVIEW
This indicator displays a Rolling Volume-Weighted Average Price. Contrary to VWAP indicators which reset at the beginning of a new time segment, RVWAP calculates using a moving window defined by a time period (not a simple number of bars), so it never resets.
█ CONCEPTS
If you are not already familiar with VWAP, our Help Center will get you started.
The typical VWAP is designed to be used on intraday charts, as it resets at the beginning of the day. Such VWAPs cannot be used on daily, weekly or monthly charts. Instead, this rolling VWAP uses a time period that automatically adjusts to the chart's timeframe. You can thus use RVWAP on any chart that includes volume information in its data feed.
Because RVWAP uses a moving window, it does not exhibit the jumpiness of VWAP plots that reset. You can see the more jagged VWAP on the chart above. We think both can be useful to traders; up to you to decide which flavor works for you.
█ HOW TO USE IT
Load the indicator on an active chart (see the Help Center if you don't know how).
Time period
By default, the script uses an auto-stepping mechanism to adjust the time period of its moving window to the chart's timeframe. The following table shows chart timeframes and the corresponding time period used by the script. When the chart's timeframe is less than or equal to the timeframe in the first column, the second column's time period is used to calculate RVWAP:
Chart Time
timeframe period
1min 🠆 1H
5min 🠆 4H
1H 🠆 1D
4H 🠆 3D
12H 🠆 1W
1D 🠆 1M
1W 🠆 3M
You can use the script's inputs to specify a fixed time period, which you can express in any combination of days, hours and minutes.
By default, the time period currently used is displayed in the lower-right corner of the chart. The script's inputs allow you to hide the display or change its size and location.
Minimum Window Size
This input field determines the minimum number of values to keep in the moving window, even if these values are outside the prescribed time period. This mitigates situations where a large time gap between two bars would cause the time window to be empty, which can occur in non-24x7 markets where large time gaps may separate contiguous chart bars, namely across holidays or trading sessions. For example, if you were using a 1D time period and there is a two-day gap between two bars, then no chart bars would fit in the moving window after the gap. The default value is 10 bars.
█ NOTES
If you are interested in VWAP indicators, you may find the VWAP Auto Anchored built-in indicator worth a try.
For Pine Script™ coders
The heart of this script's calculations uses the `totalForTimeWhen()` function from the ConditionalAverages library published by PineCoders . It works by maintaining an array of values included in a time period, but without a for loop requiring a lookback from the current bar, so it is much more efficient.
We write our Pine Script™ code using the recommendations in the User Manual's Style Guide .
Look first. Then leap.
PriceCatch BOSS IOHi TradingView Community.
I am publishing a script that uses a proprietary logic based on Fibonacci retracement for identifying breakouts. This is a script that focuses on long side trades only.
PriceCatch BOSS IO: - PriceCatch Breakout Screener Script (Invite Only).
This script is not an indicator that plots anything on the chart but is a Screener.
SLIPPED OPPORTUNITIES
One of the problems faced by traders is that while they are watching or studying the chart of one stock or Forex pair, a super opportunity slips by them in another stock or another instrument and it is frustrating when that happens. With the PriceCatch BOSS IO script, you can now capture such moves made by other symbols whilst you are watching some other instrument.
USP:
The uniqueness of this script is that you can screen Nine of your favorite symbols for breakout opportunities simultaneously.
Users can pick Nine symbols of their choice and specify a resolution in the Settings dialog screen that the script will use to find out any probable breakouts in those selected nine symbols continuously.
The symbols could be from any exchange across the world and of any type - stocks, futures, commodities, Forex and Crypto. Simply put, if you can plot the symbol in TradingView, PriceCatch BOSS can monitor that instrument for breakouts on the time interval chosen by you.
ACTIONABLE INFORMATION:
What traders look for and expect from their charts is actionable information. This script does that. It clearly tells you the Entry Price and Stop Loss price for each symbol when a breakout opportunity presents itself in that symbol. You can then open up the chart of that specific symbol to validate the given information with any other indicators that you use and then take the call with regards to a trade. You may also use this script alone without adding any other indicator to your chart. The choice is yours.
CLARITY BEFORE TRADE:
As both Entry Price and Stop Loss Price are identified by the script, you receive advance information about the risk and can set your own Reward based on your personal preferences. So, with the necessary information provided to you in advance, you can plan your trades with clarity.
HOW IT WORKS:
Once the list of symbols are selected and resolution chosen, the script then continuously monitors those given symbols for breakout opportunities. At the close of every interval, it presents the results as shown below:
Results Set
This script shows the results of the screening in a Table as under:
SYMBOL Entry Price Stop Price
TSLA 830.84 802.88
EURUSD 1.13425 1.13160
Similarly for seven more instruments chosen by you.
NOTE: 0.00 under Entry and Stop price columns mean that there is no opportunity in that symbol.
ADVANTAGE:
The advantage of this script is that it helps you spot trades in your favorite symbols without manually loading their charts. With the ability to screen the symbols from Intraday time frames to higher time frames such as Weekly, you will be able to spot opportunities to go long in intraday, swing and even positional trades of longer duration.
Another significant advantage of this script is that while you may be watching a symbol in, say 15 minutes time frame, you can set the script to monitor breakouts in any other higher time frame starting from 15 minutes. This, in effect, gives you unsurpassed advantage.
DISCIPLINE:
As you choose your nine instruments/assets, the script indirectly inculcates discipline as your attention will be only on the selected instruments and you will not be distracted or search for opportunities in a whole bunch of other symbols / assets / instruments. As you can at any time change the set of nine assets as per your personal preference, you get the flexibility that you seek to work with a different set of symbols. For Forex traders who like to monitor only Major Pairs the ability to scan Nine pairs is quite sufficient. Similarly, to traders who trade S&P500, ES1! and other instruments, the nine symbols flexibility is adequate.
LONG POSITION TOOL
For visual cues, you may use the Long Position tool to set the Entry, Stop and Targets as per your preference on the main chart.
TRICK:
Can I only screen nine instruments? What if I am interested to screen more? Actually, you can screen more instruments. You see, you can add this script on to your chart multiple times and can select a set of nine unique stocks per script instance. That way you can actually screen more than nine stocks!
EXAMPLES:
Nifty 50
TSLA
Maruti
USDJPY
MSFT
UI
The script allows you to fine tune display options as per your personal preferences.
NOTE: This script runs in a separate pane without obstructing the view of your main chart.
NOTE: The formatting of price is based on mintick. As a result, since Forex and Crypto have more number of digits after the Decimal, if your screener list consists of a mix of stocks, Forex and Crypto - please change to a Forex chart to get the correct Forex price and to Crypto for correct Crypto price and so on.
NOTE: You will not get accurate results if you are in a higher time frame chart and the Screener resolution is set to lower time frame. For example, if chart is in 15 MTF and Screener resolution is set to 3 MTF, the results may not be accurate.
TIP: If you have added this script multiple times to your chart, then you may have to maximize the pane to view the results table.
NOTE - PRIOR TO USING THIS SCRIPT:
Please remember that the script is shared with absolutely no assurances about usability and any warranties whatsoever and as a responsible trader, please satisfy yourselves thoroughly and use it only if you are convinced it works for you. Remember, you are 100% responsible for your actions and must, therefore, do your due diligence before using this script and also before every trade. Profits and losses are part and parcel of trading activity and you are solely responsible for both. If you understand and accept that, you may use the script.
QUERIES/FEEDBACK
Please PM me.
Hope you find this script useful. Wish everyone all the best with trading.
Volume Spike Retracement█ OVERVIEW
-Following many people's request to add "Volume" mode again in my "Institutional OrderBlock Pressure" script. I decided to release an improved
and full-fledged script. This will be the last OB/Retracement script I will release as we have explored every possible way to find them.
█ HOW TO INTERPRET?
-The script uses the the 0.5 Pivot and the maximum value set for Volume Length to find 'Peak Volume'. Once these conditions are met,
the script starts creating a Retracement Line.
-By default, the Volume Length value is set to 89, which works well with most Timeframes following the OrderBlocks/Retracements
logic used in my scripts.
-You have the option to set Alerts when the "Volume Spike Limit" is reached or when a Price Crossing with a Line occurs.
█ NOTES
- Yes Alerts appear instantly. Moreover, they are not 'confirmed', you must ALWAYS wait for confirmation before making a choice.
Good Trade everyone and remember, risk management remains the most important!
TradeChartist Volatility Trader ™TradeChartist Volatility Trader is a Price Volatility based Trend indicator that uses simple to visualize Volatility steps and a Volatility Ribbon to trade volatility breakouts and price action based on lookback length.
===================================================================================================================
Features of ™TradeChartist Volatility Trader
======================================
The Volatility steps consists of an Upper band, a Lower band and a Mean price line that are used for detecting the breakouts and also used in plotting the Volatility Ribbon based on the price action. The Mean Line is colour coded based on Bull/Bear Volatility and exhaustion based on Price action trend.
In addition to the system of Volatility Steps and Volatility Ribbon, ™TradeChartist Volatility Trader also plots Bull and Bear zones based on high probability volatility breakouts and divides the chart into Bull and Bear trade zones.
Use of External Filter is also possible by connecting an Oscillatory (like RSI, MACD, Stoch or any Oscillator) or a non-Oscillatory (Moving Average, Supertrend, any price scale based plots) Signal to confirm the Bull and Bear Trade zones. When the indicator detects the Volatility breakouts, it also checks if the connected external signal agrees with the trend before generating the Bull/Bear entries and plotting the trade zones.
Alerts can be created for Long and Short entries using Once per bar close .
===================================================================================================================
Note:
Higher the lookback length, higher the Risk/Reward from the trade zones.
This indicator does not repaint , but on the alert creation, a potential repaint warning would appear as the script uses security function. Users need not worry as this is normal on scripts that employs security functions. For trust and confidence using the indicator, users can do bar replay to check the plots/trade entries time stamps to make sure the plots and entries stay in the same place.
™TradeChartist Volatility Trader can be connected to ™TradeChartist Plug and Trade to generate Trade Entries, Targets etc by connecting Volatility Trader's Trend Identifier as Oscillatory Signal to Plug and Trade.
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TradeChartist Donchian Channels Breakout Strategy™TradeChartist Donchian Channels Breakout Strategy is the strategy backtester version of ™TradeChartist Donchian Channels Breakout Filter .
===================================================================================================================
Features of ™TradeChartist Donchian Channels Breakout Strategy
========================================================
Option to plot Donchian Channels of user preferred length, based on the Source price in addition to High/Low Donchian Channels.
Generates trade entries based on user preferred Breakout Price. For example, if the user prefers HL2 as breakout price, irrespective of the Donchian Channels type, trade entries are generated only when hl2 price (average of high/low) breaks out of the upper or lower band.
Option to plot background colour based on Breakout trend. The bull zones are filled with green background, the Bear zones are filled with red background and the bar that broke out is filled with orange background.
Option to colour price bars using Donchian Channels price trend. The Donchian Channels basis line is plotted using the same colours as coloured bars as default.
Note: This script does not repaint. To use the script for trade entries, wait for the bar close without Backtester or Strategy entries (with Backtester) and use a second confirmator (includes fundamentals) based on asset type as some markets require users to have good pulse on the fundamentals as trading by Technicals/price action dynamic alone may not be safe.
Note: Trend Based Stochastic of the same DC Length can be used from ™TradeChartist Risk Meter for Trade Confirmations too.
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use strategy. Get in touch with me (PM me directly if you would like trial access to test the strategy)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TFi Pivot Reversal V3The Pivot Reversal Study uses pivot points to create a support and resistance level; based on this levels the script creates virtual stop-market orders to catch the trend if the price is crossing the pivot lines.
A "Pyramiding" input allows to configure up to 3 entries; the script enters an additional position if the price falls by a configurable percentage amount (long), the reverse to short orders.
A configurable profit-target and stop-loss is being used to exit an open position.
An optional Moving Average filter can be used to enable only long or short positions.
The script renders a status box at the last bar, which shows the current position status and result of the built-in trading simulation results.
It shows the following statistic values:
current position PnL - also background turns green if position is in profit and red if in loss
the percentage distance to the profit-target and stop-loss level
the overall number of wins and losses and the win/loss ratio
the overall profit and loss amount (assuming a quantity of 1)
the net-profit and profit-ratio
For the correct simulation of entry/exit prices, the script contains inputs for a percentage entry and exit slippage.
The study also creates configurable alerts, which follow the exact position of the entry/exit markers. The default alert messages contain trading instruction to execute orders via Alertatron; but the message content can be replaced if configuring the alert in the Tradingview environment.
The script was mainly backtested with crypto-coins, e.g. XBTUSD at 15min timeframe. But the script also works with any other type of security and timeframe.
How to access
This strategy is a "Invite Only" script. You can can subscribe or purchase the strategy; please use the link below or send me a message via Tradingview to obtain access to the strategy and study script.
For enabling the script in your Tradingview chart window, click on "Indicators" and select "Invite-Only Scripts".
Full list of alerts
'Alertatron Exit' ... Exit all open positions.
'Alertatron Enter Long' ... Enter long position, w/o stop-loss being used.
'Alertatron Enter Short' ... Enter short position, w/o stop-loss being used.
'Alertatron Enter Long SL' ... Enter long position, w/ stop-loss being used.
'Alertatron Enter Short SL' ... Enter short position, w/ stop-loss being used.
Full list of parameters
"Pivot Left Bars" ... Number of bars on the left of the pivot point - used for pivot /peak detection.
"Pivot Right Bars" ... Number of bars on the right of the pivot point - used for pivot /peak detection.
"MA Filter Fast" ... Moving Average filter fast period.
"MA Filter Slow" ... Moving Average filter slow period.
"Profit Target Option" ... Configure the profit-target either as a fix percentage value or an ATR.
"Profit Target " ... Fix percentage profit-target.
"Profit ATR Period" ... ATR profit-target period.
"Profit ATR Factor" ... ATR profit-target factor/multiplier.
"Stop Loss Option" ... Configure the stop-loss either as a fix percentage value or disable the stop-loss completely.
"Stop Loss " ... Fix percentage stop-loss.
"Rebuy Loss " ... Percentage loss of the initial position before script enter a nw position in the same direction.
"Pyramiding" ... Maximum number of positions.
"Show MA Plots" ... Show/hide Moving average plots.
"Slippage Entry " ... Percentage slippage for entering a position.
"Slippage Exit " ... Percentage slippage for exiting a position.
"Statistic Label" ... Defines the position of the statistic label relatively to the last bar in the chart.
"Backtest Start" ... Backtest start time; area outside this timeframe will be grayed out.
"Backtest Stop" ... Backtest stop time; area outside this timeframe will be grayed out.
"Backtest Mode" ... Closes the currently opened position if chart switches to last bar; please only enable if backtesting, otherwise it leads to unwanted alerts.
TradeChartist Tracker™𝗧𝗿𝗮𝗱𝗲𝗖𝗵𝗮𝗿𝘁𝗶𝘀𝘁 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 is an essential real-time multi Indicator tracking toolkit that can be plotted as a standalone Indicator plot, a multi symbol tracker/screener for upto 10 different symbols and a visual scorecard for upto 5 different symbols. The indicators included in the tracker are Stochastic Oscillator, RSI, CCI, 15 different Moving Averages, MACD, Bollinger Bands %B (including Bollinger Bands and Breakout Signals), Ichimoku Cloud (including Breakout signals), Donchian Channels Oscillator (including Donchian Channels and Breakout Signals), Net Volume and Heikin Ashi Trend.
===================================================================================================================
™𝗧𝗿𝗮𝗱𝗲𝗖𝗵𝗮𝗿𝘁𝗶𝘀𝘁 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 𝗨𝘀𝗲𝗿 𝗠𝗮𝗻𝘂𝗮𝗹
=====================================
™TradeChartist Tracker Plot Types
==============================
1. Indicator plot of Chart Symbol on its own , chosen from the 𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿 𝗧𝘆𝗽𝗲 dropdown, enabling 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝).
In this example Daily chart of XRP-USDT, 55 period Stochastic is tracked for the chart symbol XRP-USDT.
2. Indicator plot of a Symbol different from the Chart Symbol , chosen from the 𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿 𝗧𝘆𝗽𝗲 dropdown by enabling Tʀᴀᴄᴋ ᴀɴᴏᴛʜᴇʀ Sʏᴍʙᴏʟ's Iɴᴅɪᴄᴀᴛᴏʀ and entering the symbol name in the Sʏᴍʙᴏʟ ᴛᴏ Tʀᴀᴄᴋ input box, whilst keeping 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) enabled.
In this example Daily chart of XRP-USDT, 55 period Stochastic is tracked for the BTC-USD (different from chart symbol XRP-USDT).
3. Tracker Plot of up to 10 Multiple Symbol Trackers for the Indicator chosen from the 𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿 𝗧𝘆𝗽𝗲 dropdown, by disabling 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) and by entering the number of trackers required in the 𝐍𝐮𝐦𝐛𝐞𝐫 𝐨𝐟 𝐓𝐫𝐚𝐜𝐤𝐞𝐫𝐬 input box under 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 𝗣𝗹𝗼𝘁𝘀 section. Upto 10 Symbols can be tracked and can be input by the user in the input boxes from Sʏᴍʙᴏʟ 1,...Sʏᴍʙᴏʟ 10 . 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) must be disabled for this plot type.
In this example Daily chart of Crypto Total Market Cap, Bollinger Bands %B is tracked for the chart symbol + 10 other Crypto symbols using Multi Symbol Trackers
4. Visual Scorecards of up to 5 Symbols for 8 indicators (all except Net Volume and HA Trend) can be plotted with real-time data by enabling 𝗗𝗶𝘀𝗽𝗹𝗮𝘆 𝗩𝗶𝘀𝘂𝗮𝗹 𝗦𝗰𝗼𝗿𝗲𝗰𝗮𝗿𝗱 - (𝟓 𝐓𝐫𝐚𝐜𝐤𝐞𝐫𝐬 𝐋𝐢𝐦𝐢𝐭). 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) must be disabled for this plot type.
For the same example Daily chart of Crypto Total Market Cap as above, Visual Scorecard is plotted for 5 Symbols as shown.
5. Indicator Tracker labels can be plotted on Price chart by overlaying the Tracker on main chart and by switching from Separate Tracker Pane - Default to Tracker Labels only on Price Scale in the Lᴀʙᴇʟs Dɪsᴘʟᴀʏ Tʏᴘᴇ dropdown box.
In this example chart of 1hr XLM-USDT, Tracker labels of 55 EMA are plotted for 10 different symbols along with the 55 EMA plot of XLM-USDT.
Indicator plot that doesn't fit on price scale can be visualised using a second Tracker added to chart as shown in the ETH-USDT example below tracking Net Volume.
===================================================================================================================
𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿𝘀 𝗜𝗻𝗰𝗹𝘂𝗱𝗲𝗱 𝗶𝗻 ™𝗧𝗿𝗮𝗱𝗲𝗖𝗵𝗮𝗿𝘁𝗶𝘀𝘁 𝗧𝗿𝗮𝗰𝗸𝗲𝗿
==============================================
1. Stochastic Oscillator
2. RSI
3. CCI
4. MA - (15 types included)
5. MACD
6. Bollinger Bands %B + Optional plots of Bollinger Bands and Breakout Signals
7. Ichimoku Cloud Oscillator + Optional plots of Ichimoku Cloud and Breakout Signals
8. Donchian Channels + Optional plots of Donchian Channels and Breakout Signals
9. Net Volume
10. Heikin Ashi Trend
All of the above indicators can be plotted as independent plots of the Chart Symbol or of a different symbol by enabling 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝). Some Oscillators have the option of Pʟᴏᴛ Sᴛʏʟᴇ under their relevant sections, and can be plotted as line, area or a histogram.
Oscillators 1-8 (except 4) require source price, lookback length and smoothing (where available) for the indicator plot. The colour of the tracker blocks is based on the Upper/Lower bands (where available), specified by the user in the respective sections. For example, if the RSI indicator is chosen to be plotted with Upper band at 60 and Lower band at 40, the tracker blocks and the Indicator plot paint the values between 40 and 60 in neutral colour which can be changed from the settings.
Multi Window BTC-USDT 1hr example chart below with various indicators from ™TradeChartist Tracker.
Note: The tracker colour is exactly colour of the Indicator Plot. The Visual Scorecard , however uses the mid values and doesn't take into account the bands specified by the user. For example, RSI score is green on the Visual Scorecard as long as RSI is above 50 and doesn't get affected by the user specified upper/lower band and this applies to all Oscillators. This is shown in the 1hr BTC-USDT chart below.
Moving Averages (MA) and MACD
------------------------------------------------------
Tracker plots and tracks one of 15 Moving Averages that can be chosen from the MA ᴛʏᴘᴇ and by specifying the MA Lᴇɴɢᴛʜ .
MACD uses EMA as default for calculating the MACD plots and Tracker data using Fᴀsᴛ Lᴇɴɢᴛʜ , Sʟᴏᴡ Lᴇɴɢᴛʜ and Sᴍᴏᴏᴛʜɪɴɢ . To experiment or use a different Moving Average to calculate MACD, disable 𝐔𝐬𝐞 𝐄𝐌𝐀 (Uɴᴄʜᴇᴄᴋ ᴛᴏ ᴜsᴇ MA ғʀᴏᴍ ᴀʙᴏᴠᴇ) and select the required Moving Average from MA ᴛʏᴘᴇ drop down of the 𝟰. 𝗠𝗼𝘃𝗶𝗻𝗴 𝗔𝘃𝗲𝗿𝗮𝗴𝗲 section.
Bollinger Bands %B + Optional plots of Bollinger Bands and Breakout Signals
---------------------------------------------------------------------------------------------------------------------------
Bollinger Bands %B is a companion oscillator for Bollinger Bands and helps depict where the price is, in relation to the Bollinger Bands. To plot the actual Bollinger Bands, enable Dɪsᴘʟᴀʏ Bᴏʟʟɪɴɢᴇʀ Bᴀɴᴅs and to plot the Bollinger Bands Breakout Signals, enable Sʜᴏᴡ BB Bʀᴇᴀᴋᴏᴜᴛ Sɪɢɴᴀʟs , with 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) enabled.
Ichimoku Cloud Oscillator + Optional plots of Ichimoku Cloud and Breakout Signals
------------------------------------------------------------------------------------------------------------------------------------
Ichimoku Cloud Oscillator helps visualize the current price in relation to the breakout support/resistance of the Ichimoku Cloud using strict Ichimoku Cloud criteria (including Chikou Span agreeing with the breakout etc.). To plot the actual Ichimoku Cloud, enable Dɪsᴘʟᴀʏ Iᴄʜɪᴍᴏᴋᴜ Cʟᴏᴜᴅ and to plot the Kumo Breakout Signals, enable Sʜᴏᴡ Kᴜᴍᴏ Bʀᴇᴀᴋᴏᴜᴛ Sɪɢɴᴀʟs , with 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) enabled.
Cloud Settings form the fundamental factor for this indicator to detect the breakouts. The settings for the Ichimoku Cloud is Automatic (detects right settings for the symbol type) by default, but this can be changed to Classic or 24/7 Crypto , based on the user preference from the settings under 𝐂𝐥𝐨𝐮𝐝 𝐓𝐲𝐩𝐞, which also includes a manual input option. Ichimoku traders can experiment different settings combinations under manual settings to suit their trading frequency and timeframe traded.
Donchian Channels + Optional plots of Donchian Channels and Breakout Signals
-------------------------------------------------------------------------------------------------------------------------------
Donchian Channels comprises of three plots - a upper band, a lower band and a mean line (or mid line of the channel). The upper band is based on highest high of N periods specified by the user and the lower band is based on the lowest low of N periods specified by the user. These channels help spot price breaching high or low of last N periods clearly, thereby aiding the trader to understand the price action of any symbol better on any given timeframe.
Donchian Channels Oscillator helps visualize the current price in relation to the Mean line of the Donchian Channels of user specified lookback period (specified in the Dᴏɴᴄʜɪᴀɴ Cʜᴀɴɴᴇʟ Lᴇɴɢᴛʜ input box). The sensitivity of the oscillator can be adjusted using smoothing factor in the Sᴍᴏᴏᴛʜɪɴɢ input box. To plot the actual Donchian Channels, enable Dɪsᴘʟᴀʏ Dᴏɴᴄʜɪᴀɴ Cʜᴀɴɴᴇʟs and to plot the Donchian Channels Breakout Signals, enable Sʜᴏᴡ DC Bʀᴇᴀᴋᴏᴜᴛ Sɪɢɴᴀʟs , with 𝐃𝐢𝐬𝐩𝐥𝐚𝐲 𝐈𝐧𝐝𝐢𝐜𝐚𝐭𝐨𝐫 𝐏𝐥𝐨𝐭 (𝐝𝐢𝐬𝐚𝐛𝐥𝐞𝐬 𝐓𝐫𝐚𝐜𝐤𝐞𝐫/𝐒𝐜𝐨𝐫𝐞𝐜𝐚𝐫𝐝) enabled.
Note: Using smoothing factor more than 1 doesn't reflect the actual Donchian Channels Mean line and also impacts the Tracker block colours.
Net Volume and Heikin Ashi Trend
-------------------------------------------------------
Net Volume and Heikin Ashi Trend can be tracked and plotted for up to 10 symbols in addition to the chart symbol, but both Net Volume and Heikin Ashi Trend are not included in the Visual Scorecard. Since the colour of the Net Volume depends on candle being bullish or bearish, it can help the user visualize if the current candle close of the symbol tracked is above or below the symbols's candle open.
Note: Bar Replay doesn't update the bar by bar indicator plot for historic bars for symbols other than the chart symbol. However, the Indicator Plot is perfectly usable for the realtime bar as data updates for both the Trackers and the Scorecard in realtime.
===================================================================================================================
𝗩𝗶𝘀𝘂𝗮𝗹 𝗦𝗰𝗼𝗿𝗲𝗰𝗮𝗿𝗱
=================
Visual Scorecard plots a green Bull or a red Bear Score colour plot for each Indicator from RSI to Donchian Channels Oscillator against every symbol tracked for up to 5 symbols max (First 5 symbols under 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 𝗣𝗹𝗼𝘁𝘀 section). The gap between the scores can be adjusted using gap factor under Gᴀᴘ Fᴀᴄᴛᴏʀ ʙᴇᴛᴡᴇᴇɴ Sᴄᴏʀᴇs dropdown.
Visual Scorecard scoring method
----------------------------------------------------
RSI > 50 - 🟢
RSI < 50 - 🔴
Stoch > 50 - 🟢
Stoch < 50 - 🔴
CCI > 0 - 🟢
CCI < 0 - 🔴
Close price above MA plot - 🟢
Close price below MA plot - 🔴
MACD > 0 - 🟢
MACD < 0 - 🔴
Bollinger Bands %B > 50 - 🟢
Bollinger Bands %B < 50 - 🔴
Ichimoku Bullish Kumo Trend - 🟢
Ichimoku Bearish Kumo Trend - 🔴
Donchian Channels Oscillator > 0 (or close price above DC Mean Line) - 🟢
Donchian Channels Oscillator < 0 (or close price below DC Mean Line) - 🔴
Note: Bar Replay doesn't update the bar by bar scores/tracker data for historic bars for symbols other than the chart symbol. However, the Scorecard is perfectly usable for the realtime bar as data updates for both the Trackers and the Scorecard in realtime.
===================================================================================================================
𝗠𝘂𝗹𝘁𝗶 𝗦𝘆𝗺𝗯𝗼𝗹 𝗧𝗿𝗮𝗰𝗸𝗲𝗿𝘀/𝗟𝗮𝗯𝗲𝗹𝘀
=============================
Multi Symbol Tracker blocks continuously track the real-time indicator data of up to 10 symbols (in addition to the chart symbol) based on the number of Symbol Trackers preferred in the 𝐍𝐮𝐦𝐛𝐞𝐫 𝐨𝐟 𝐒𝐲𝐦𝐛𝐨𝐥 𝐓𝐫𝐚𝐜𝐤𝐞𝐫𝐬 (𝟎-𝟏𝟎) input box under the 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 𝗣𝗹𝗼𝘁𝘀 section, and plots Bull, Bear and Neutral colour coded blocks based on both the indicator selected and settings preferred by the user under the relevant indicator section.
Multi Symbol Tracker Labels also continuously track the real-time indicator data in addition to the last close price (if 𝐒𝐡𝐨𝐰 𝐏𝐫𝐢𝐜𝐞 is enabled under 𝗧𝗿𝗮𝗰𝗸𝗲𝗿 𝗣𝗹𝗼𝘁𝘀 section), which helps user see the real-time changes in the indicator values and price changes of the symbols tracked.
The Tracker Label colours are exactly the same as the Tracker Block colours and are filtered based on the user preferred bands on the Oscillator values. This is slightly different to the Visual Scorecard Colour coding as the range between the user preferred bands is colour coded in a neutral colour, whereas the Scorecard uses only Bull and Bear Colours as explained in the 𝗩𝗶𝘀𝘂𝗮𝗹 𝗦𝗰𝗼𝗿𝗲𝗰𝗮𝗿𝗱 heading above. For example, if the user prefers RSI upper band of 60 and lower band of 40, the range between the values of 40 and 60 will be colour coded in neutral colour which can be changed from the 𝗨𝘀𝗲𝗳𝘂𝗹 𝗘𝘅𝘁𝗿𝗮𝘀 section of the indicator settings.
Note 1: Default settings are based on the Oscillator mid values and hence the Tracker Blocks match with the Visual Scorecard colour codes. Using Upper and Lower bands for oscillators help spot the oversold and overbought zones and also helps spot breakout threshold based on Indicator values specified by the user. Example chart with visual depiction below using RSI.
Note 2: Bar Replay doesn't update the bar by bar scores/tracker data for historic bars for symbols other than the chart symbol. However, the Tracker blocks/labels are perfectly usable for the realtime bar as data updates for both the Trackers and the Scorecard in realtime.
===================================================================================================================
Frequently Asked Questions
========================
Q: When I load the ™TradeChartist Tracker, why are the values in the labels blurred sometimes?
A: This happens occasionally as shown in the chart below, when the script is loaded for the first time or when a different setting is used.
To resolve this, just hide and unhide the script using the 👁 next to the Indicator title. If it is not visible, just hover the mouse/crosshair over the Indicator Title and it will be visible.
Q: Why does the indicator plot, tracker blocks and labels of Symbols being tracked, not update when I use Bar Replay?
A: As explained in the relevant sections above, historic data for bars and indicators other than chart symbol doesn't update on bar replay. But the chart symbol data does update for every bar on bar replay. This doesn't affect the real-time values and block colours for the symbols tracked.
Q: Can I track real-time values of a currently trading symbol when I'm on a symbol chart that is inactive? For example, can I see labels with real-time BTC values on a Sunday when I'm on a SPX chart when its not in session?
A: Simple answer is no. This is because, the plots are based on bar times of the chart and the symbols are tracked based on the bar time. So if the SPX session ended on Friday, the last known value of the BTC labels will be from Friday and hence it is always recommended to track symbols from a symbol chart that is in session.
Q: Does ™TradeChartist Tracker repaint?
A: This indicator doesn't repaint but it is not recommended to trade a different symbol from the chart based on the real-time data alone without checking if the current symbol chart is in session as inactive price chart will not have updated data on symbols tracked. Also, bar replay doesn't work on data pulled from external symbol data than the chart symbol, but signals confirmed at candle close and confirmed by Tracker blocks with appropriate colour code will be in agreement with the respective indicator and can be double checked for building trust and confidence on the indicator.
Q: Can ™TradeChartist Tracker be connected to other indicators as external source?
A: Yes. ™TradeChartist Tracker can be connected to another script and there are several use cases in doing so. A couple of examples are shown below.
1. ™TradeChartist Tracker 's Bollinger Bands %B 𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿 𝗣𝗹𝗼𝘁 connected to ™TradeChartist Plotter to plot Divergences on the 4hr XAU-USD main price chart.
2. ™TradeChartist Tracker 's 𝐁𝐫𝐞𝐚𝐤𝐨𝐮𝐭 𝐓𝐫𝐞𝐧𝐝 𝐈𝐝𝐞𝐧𝐭𝐢𝐟𝐢𝐞𝐫 connected to ™TradeChartist Plug and Trade as Oscillatory Signal with 0/0 to generate trade signals with Targets and performance information on trades.
More Example Charts
==================
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
Malaysia Structured Warrants (Local Equities) ScreenerThis is an indicator script that showed the various performance of numerous companies call/put warrants that was issued by investment bank and institutions with limited numbers of warrants showed within the script.
This script was built to monitor and observe the past and current trend on all of the call/put warrants linked securities listed in Bursa Malaysia in term of the premium percentage , gearing ratio , unit price , periodic volume and time to maturity (still under process).
Besides, it was built to utilize users time to review the basic data regarding with those call/put warrants as the script will show numbers of them instead of requiring changing on graph to observe each basic data.
To simplify it , it is somehow like the KLSE Screener Warrant Side but this script has all the previous records and data that can be view in glance and download in the format of CSV (only in premium account).
To example used is UWC , but this script can apply to any malaysia stock that have the call warrants (like SUPERMX , MYEG , MI, FGV ,TOPGLOV and etc.)
It is still a prototype and manual update with newly issued of call/put warrants are required to add within this script time by time. There are also few technical issues regarding with this scripts as the labels are most times which i have contact with the customer service regarding this problem.
Overall, I speak as the author and copyright owner of this scripts, this script wouldn’t update by itself when new relevant structured warrants are issued but the update should provide based on my personal time planning.
Author : J.L.Z.H
You are free to leave your tradingview id below if you like to have a few days of access permission.
TradeChartist TrendRider Companion ™TradeChartist TrendRider Companion is an exceptionally beautiful and a functional indicator that can be used as a companion with ™TradeChartist TrendRider or as a standalone indicator and can also be used with other scripts. The indicator plots the trend based on Momentum, Volatility , detecting critical zones of Support and Resistance along the way, which helps the indicator find the right trend to ride, plotting Trend Intensity and Trend Markers based on only one piece of User input - TrendRider Type (Aggressive, Normal or Laid Back).
===================================================================================================================
What does ™TradeChartist TrendRider Companion do?
TrendRider Companion plots Trend Intensity along with Bull and Bear Trend Markers on chart, which helps the user get a visual confirmation of the Trend.
TrendRider Companion paints Trend strength on price bars based on the Color Scheme, if this option is enabled from the indicator settings.
===================================================================================================================
The script is pretty straight forward to use on any chart to track the trend intensity. ™TradeChartist TrendRider uses the same logic to detect the trend but TrendRider also plots critical Support/Resistance zones, detecting any breaches or fail of those levels on a candle close before reversing the Trend Ride.
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TradeChartist Plug and Trade™TradeChartist Plug and Trade is an extremely useful indicator that can be connected to almost any Study script (not a Strategy) on Trading View (with an Oscillatory or Non-Oscillatory Signal plot) to generate Trade Signals with Stop Loss plot, user set or automatic Target plots and create Alerts based on Past Performance, determined by Past Gains/Drawdowns for each Trade. The indicator is packed with a lot of features including TradeChartist's signature Dashboard and Real-time Gains Tracker, Automatic Targets Generator, Take Profit recommendation, option to paint price bars based on Trade/Price Trend, 3 types of Stop Loss plots to choose from, with option for user to set fixed Target to take profits.
1. How does ™TradeChartist Plug and Trade connect to another Study script/indicator signal?
Plug and Trade is elegantly designed with simplicity in mind, without compromising on functionality, so any trader - beginner to advanced, can just plug an external signal to the indicator with ease by just following these simple steps.
Add to price chart, the Indicator along with the signal plot to be tested and assessed for performance.
Plug the signal into ™TradeChartist Plug and Trade by choosing it from the Plug Signal Here drop-down.
Choose Signal type as Oscillatory if signal oscillates between set values or crosses a certain value periodically (Example: RSI, CCI, TRIX etc that are mostly not overlayed on Price chart and may be in a separate pane from price chart as it may not fit on Price scale), Choose Signal Type as Non Oscillatory if the signal can be plotted on price scale and Trades are normally generated when price crosses above or below it (Moving Averages, SAR indicators like SuperTrend, etc.).
For oscillators, default Oscillator value for Trade Signals is 0 as most Oscillators have 0 as their mid point. The value can be changed if the Signal doesn't oscillate with 0 as its mid point. For example, if the connected Signal is RSI, the values can be changed to Upper and Lower band values to generate Trade Signals.
Plot the Signal on chart if the signal is Non Oscillatory.
2. How can the plugged Signal's performance be assessed using ™TradeChartist Plug and Trade and subsequently used for generating Trade Entries and to create Alerts?
Once the Signal is plugged into the indicator based on steps above, Plug and Trade automatically plots the Trade entries based on the Signal type.
Plot Trade Entries after Bar Close from settings can be checked for signals that do not confirm until bar close. By doing this, repainting can be avoided for most signals and true performance can be assessed. Also, alerts can be created using Once Per Bar rather than Once Per Bar Close .
The real-time Gains Tracker and Dashboard are useful in tracking gains and other useful indicator values like RSI, Stoch, ATR and EMA in real-time with price movement.
Enabling Past Performance from settings will plot Maximum Gains achieved and Maximum Drawdown for each trade as labels . Trading View only plots finite number of labels and old labels are deleted automatically. But to access past performance beyond the last available label, bar replay can be used.
User can choose from 3 types of Stop Losses from the settings - Fixed %, Trailing % and ATR Stop Loss namely and a Fixed TP % to create plots on price chart and to create alerts.
If the user prefers automatic targets based on Trade entries, Recommend Targets can be enabled from the settings. The automatic targets are generated at the time of Trade Entry, along with Target prices and % which turn green when hit.
Each BUY and SELL Trade are tracked in its entirety and the highest high since BUY and lowest low since SELL are plotted on the price chart and also displayed on the Plug and Play Dashboard
Choppiness can be easily spotted if there are numerous Past Performance labels or several Trade Entries around a short timeframe on chart. This may mean that the signal needs smoothing or may not be suitable for the asset to trade on the chart timeframe. Suitability of a Study script for the asset can be determined in many ways using this indicator.
3. What other features are included in ™TradeChartist Plug and Trade?
Enabling Spot Price Bars to take Profit option from settings automatically plots $ sign above/below candles where Profit taking is recommended or Stop Loss moved to secure profits/reduce loss.
Enabling Paint Price Bars with Trade Trend paints price bars with colors that help picture Trade/Price trend. Trend spotting using this works best with (bars/hollow candles/candles with no border) on dark background.
Both features work on Price chart even without any Signal plugged in.
===================================================================================================================
Example Charts using different Signals plugged into ™TradeChartist Plug and Trade
1. RSI Signal (Oscillatory) plugged in with >60 for BUYs and <40 for SELLs - BTC-USDT on 1hr
2. PowerTracer Signal (Oscillatory) plugged in - GBP-USD 1hr
3. 55 period VWMA Signal (Non Oscillatory) plugged in - ADA-USDT 4hr
4. RSI Signal (Oscillatory) plugged in with >70 for BUYs and <30 for SELLs - SPX 1hr with Trailing SL - 3% and TP - 2%
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
TradeChartist PowerTrader ProTradeChartist PowerTrader Pro is a versatile Signal generator and Signal plotter on the main price chart based on signals from other compatible scripts like TradeChartist PowerTracer Pro . This elegantly designed script plots the following based on user preference.
BUY and SELL signals based on external compatible signal source
Automatic Targets if opted from settings
Trailing or Fixed Stop Loss based on user input
Take Profit % and Quantity to trade based on user input
PowerTrader Dashboard displaying 14 period RSI, Stoch and 20 EMA
Real-Time Gains Tracker displaying Max Gains and open PnL
Past Performance labels displaying Max Gains and Max Drawdown for each trade
Higher Highs since BUY and Lower Lows since SELL
Once the external Signal is connected to the script, the results based on signal backtester ( TradeChartist PowerTracer Pro Backtester ) can be used to optimise the settings to generate plots and also to set Alerts for the following.
Long and Short Signals
Long and Short Stop Loss Hit
Long and Short TP Hit
Move up/down Trailing SL
To create alerts, the user must choose PowerTrader Pro from the alert condition drop-down and choose the required alert. Since the signals are generated only after confirmation, "Once per bar" must be used for Alerts.
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
Dual Purpose Pine Based CorrelationThis is my "Pine-based" correlation() function written in raw Pine Script. Other names applied to it are "Pearson Correlation", "Pearson's r", and one I can never remember being "Pearson Product-Moment Correlation Coefficient(PPMCC)". There is two basic ways to utilize this script. One is checking correlation with another asset such as the S&P 500 (provided as a default). The second is using it as a handy independent indicator correlated to time using Pine's bar_index variable. Also, this is in fact two separate correlation indicators with independent period adjustments, so I guess you could say this indicator has a dual purpose split personality. My intention was to take standard old correlation and apply a novel approach to it, and see what happens. Either way you use it, I hope you may find it most helpful enough to add to your daily TV tool belt.
You will notice I used the Pine built-in correlation() in combination with my custom function, so it shows they are precisely equal, even when the first two correlation() parameters are reversed on purpose or by accident. Additionally, there's an interesting technique to provide a visually appealing line with two overlapping plot()s combined together. I'm sure many members may find that plotting tactic useful when a bird's nest of plotting is occurring on the overlay pane in some scenarios. One more thing about correlation is it's always confined to +/-1.0 irregardless of time intervals or the asset(s) it is applied to, making it a unique oscillator.
As always, I have included advanced Pine programming techniques that conform to proper "Pine Etiquette". For those of you who are newcomers to Pine Script, this code release may also help you comprehend the "Power of Pine" by employing advanced programming techniques in Pine exhibiting code utilization in a most effective manner. One of the many tricks I applied here was providing floating point number safeties for _correlation(). While it cannot effectively use a floating point number, it won't error out in the event this should occur especially when applying "dominant cycle periods" to it, IF you might attempt this.
NOTICE: You may have observed there is a sqrt() custom function and you may be thinking... "Did he just sick and twistedly overwrite the Pine built-in sqrt() function?" The answer is... YES, I am and yes I did! One thing I noticed, is that it does provide slightly higher accuracy precision decimal places compared to the Pine built-in sqrt(). Be forewarned, "MY" sqrt() is technically speaking slower than snail snot compared to the native Pine sqrt(), so I wouldn't advise actually using it religiously in other scripts as a daily habit. It is seemingly doing quite well in combination with these simple calculations without being "sluggish". Lastly, of course you may always just delete the custom sqrt() function, via Pine Editor, and then the script will still operate flawlessly, yet more efficiently.
Features List Includes:
Dark Background - Easily disabled in indicator Settings->Style for "Light" charts or with Pine commenting
AND much, much more... You have the source!
The comments section below is solely just for commenting and other remarks, ideas, compliments, etc... regarding only this indicator, not others. When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
Expansion Top/Bottom (Expo) Expansion Top/Bottom (Expo)
DESCRIPTION
Expansion Top/Bottom (Expo) indicator is a powerful oscillator that visualizes temporary Top/Bottom as well as trend shifts. When the market moves boldly a histogram will be formed in the indicator which indicates that the movement might be at its end. It's always a great idea to lock in some profit when we get these histograms. These ‘Lock-in’ profits points are visualized by a cross.
The professional trader has the ability to adjust the length of the calculation. A longer length means that the indicator spots broader market shifts. A short length means that the indicator spots temporary tops/bottoms.
Use the indicator in combination with other signals and analysis techniques.
HOW TO USE
1. Use the indicator to identify temporary tops/bottoms.
2. Use the indicator to identify broader tops/bottoms.
3. Use the indicator to visualize the trend.
4. Use the indicator to visualize ‘Lock-In’ profit points.
INDICATOR IN ACTION
Short length (Length = 14)
BTCUSD
EURUSD
BRENT
BRENT
BTCUSD
Long length (Length = 50)
BRENT
EURUSD
BTCUSD
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below.
• I have started to publish private scripts which are not visible on my profile. However, if you're interested to know more about these scripts, drop me a message at my webpage and I will show you these scripts as well. The rationale behind publishing these scrips as private is that I don't want them to be indexed in search engines.
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
How to avoid repainting when NOT using security()Even when your code does not use security() calls, repainting dynamics still come into play in the realtime bar. Script coders and users must understand them and, if they choose to avoid repainting, need to know how to do so. This script demonstrates three methods to avoid repainting when NOT using the security() function.
Note that repainting dynamics when not using security() usually only come into play in the realtime bar, as historical data is fixed and thus cannot cause repainting, except in situations related to stock splits or dividend adjustments.
For those who don’t want to read
Configure your alerts to trigger “Once Per Bar Close” and you’re done.
For those who want to understand
Put this indicator on a 1 minute or seconds chart with a live symbol. As price changes you will see four of this script’s MAs (all except the two orange ones) move in the realtime bar. You are seeing repainting in action. When the current realtime bar closes and becomes a historical bar, the lines on the historical bars will no longer move, as the bar’s OHLC values are fixed. Note that you may need to refresh your chart to see the correct historical OHLC values, as exchange feeds sometimes produce very slight variations between the end values of the realtime bar and those of the same bar once it becomes a historical bar.
Some traders do not use signals generated by a script but simply want to avoid seeing the lines plotted by their scripts move during the realtime bar. They are concerned with repainting of the lines .
Other traders use their scripts to evaluate conditions, which they use to either plot markers on the chart, trigger alerts, or both. They may not care about the script’s plotted lines repainting, but do not want their markers to appear/disappear on the chart, nor their alerts to trigger for a condition that becomes true during the realtime bar but is no longer true once it closes. Those traders are more concerned with repainting of signals .
For each of the three methods shown in this script’s code, comments explain if its lines, markers and alerts will repaint or not. Through the Settings/Inputs you will be able to control plotting of lines and markers corresponding to each method, as well as experiment with the option, for method 2, of disabling only the lines plotting in the realtime bar while still allowing the markers and alerts to be generated.
An unavoidable fact is that non-repainting lines, markers or alerts are always late compared to repainting ones. The good news is that how late they are will in many cases be insignificant, so that the added reliability of the information they provide will largely offset the disadvantages of waiting.
Method 1 illustrates the usual way of going about things in a script. Its gray lines and markers will always repaint but repainting of the alerts the marker conditions generate can be avoided by configuring alerts to trigger “Once Per Bar Close”. Because this gray marker repaints, you will occasionally see it appear/disappear during the realtime bar when the gray MAs cross/un-cross.
Method 2 plots the same MAs as method 1, but in green. The difference is that it delays its marker condition by one bar to ensure it does not repaint. Its lines will normally repaint but its markers will not, as they pop up after the condition has been confirmed on the bar preceding the realtime bar. Its markers appear at the beginning of the realtime bar and will never disappear. When using this method alerts can be configured to trigger “Once Per Bar” so they fire the moment the marker appears on the chart at the beginning of the realtime bar. Note that the delay incurred between methods 1 and 2 is merely the instant between the close of a realtime bar and the beginning of the next one—a delay measured in milliseconds. Method 2 also allows its lines to be hidden in the realtime bar with the corresponding option in the script’s Settings/Inputs . This will be useful to those wishing to eliminate unreliable lines from the realtime bar. Commented lines in method 2 provide for a 2b option, which is to delay the calculation of the MAs rather than the cross condition. It has the obvious inconvenient of plotting delayed MAs, but may come in handy in some situations.
Method 3 is not the best solution when using MAs because it uses the open of bars rather than their close to calculate the MAs. While this provides a way of avoiding repainting, it is not ideal in the case of MA calcs but may come in handy in other cases. The orange lines and markers of method 3 will not repaint because the value of open cannot change in the realtime bar. Because its markers do not repaint, alerts may be configured using “Once Per Bar”.
Spend some time playing with the different options and looking at how this indicator’s lines plot and behave when you refresh you chart. We hope everything you need to understand and prevent repainting when not using security() is there.
Look first. Then leap.
Morning ORB FVG Trigger✅ Overview
Morning ORB FVG Trigger is a complete intraday trading framework built around:
A Morning Opening Range Breakout (ORB)
The first Fair Value Gap (FVG) after that breakout
Strict risk management and position sizing
Optional HTF trend filter (Daily / Weekly / Monthly)
Optional Daily ATR filter to avoid extreme days
The script is designed for futures / indices / FX on intraday charts up to 15 minutes and for traders who want a clean, mechanical entry framework with clear risk.
🧠 Core idea
Define a morning opening range (e.g. 09:30–09:45).
Wait for a clean breakout above/below that range.
After the breakout, wait for the first FVG in breakout direction,
confirmed by the next candle (no immediate full reclaim).
Use a chosen stop logic + R:R factor to build risk/reward boxes.
Calculate position size based on your account risk.
(Optional) Only take trades:
In the direction of the HTF EMA trend (D/W/M).
On days where the morning range is within a band of the Daily ATR.
You can also disable all signals/boxes and use the script just as a visual ORB tool.
⏰ 1. ORB / Morning Range
Inputs (Main section)
Morning Range Session
Time window of the opening range in exchange time
Example: 09:30–09:45 for a 15-minute ORB.
You can type custom ranges (e.g. 09:30–09:35 for a 5-minute ORB).
Risk/Reward (TP factor)
Multiplier for the take-profit distance relative to the stop.
2.0 = TP is 2× the stop distance
1.5 = TP is 1.5× the stop distance
Show ORB range
If enabled, draws:
ORB high/low lines
ORB labels (e.g. 15min ORB high / low)
Optional midline
Extend ORB lines to the right (bars)
How many bars to extend the ORB high/low horizontally beyond the ORB itself.
Trade box width (bars)
Horizontal width (in bars) of:
Red risk box (entry–stop)
Green reward box (entry–TP)
Implementation details
The ORB is always calculated on 1-minute data internally, so it stays precise even on 5m/15m charts.
The script only works on intraday timeframes up to 15 minutes.
📦 2. FVG Block
Group: “FVG”
Threshold %
Minimum size of an FVG in % of price.
0 = every FVG
Higher values = only larger gaps
Auto threshold (from volatility)
If enabled, the minimum FVG size is derived from historical volatility
instead of a fixed percentage.
Allow breakout FVG partly inside ORB
Off (default): the FVG must lie fully outside the ORB.
On: the breakout FVG itself may still overlap the ORB a bit,
as long as it is the first one attached to the breakout move.
Enable FVG entry signals, boxes & alerts
On: full system – FVG detection, entry labels, risk/TP boxes, alerts.
Off: no entries, no risk/TP boxes, no alerts.
You only get the ORB and (optionally) the HTF dashboard, so you can trade your own setups.
Entry mode
Entry mode (Mid / Edge / NextOpen)
Mid – Entry at the midpoint of the FVG.
Edge – Long at the upper FVG edge, short at the lower FVG edge.
NextOpen – No limit order in the gap. Entry is placed at the next bar open after FVG confirmation.
Edge offset (ticks)
Additional offset for Edge entries:
Long:
+ticks = a bit above the FVG (more conservative)
-ticks = deeper into the FVG (more aggressive)
Short:
+ticks = a bit below the FVG
-ticks = deeper into the FVG
FVG detection logic
Uses a LuxAlgo-style 3-candle FVG pattern (gap between candle 1 and 3).
Only one FVG is taken: the first valid FVG after the ORB breakout in breakup direction.
The FVG candle is the middle bar; the script:
Detects the FVG on the previous bar.
Waits for the current bar to confirm it:
Bullish: current low must stay above the lower FVG boundary
Bearish: current high must stay below the upper FVG boundary
Only then an entry signal is generated.
🛑 3. Stop Logic
Group: “Stop Logic”
Stop mode (PrevBar / Pivot / FVG Candle)
PrevBar – Stop at the low/high of the candle before the FVG
(tight/aggressive).
FVG Candle – Stop at the low/high of the FVG candle itself
(medium).
Pivot – Stop at the most recent swing high/low
using pivotLeft / pivotRight pivots (more conservative).
Ticks (stop buffer)
Offset (in ticks) from the selected stop level.
> 0 = further away (more room, more risk)
< 0 = closer (tighter stop)
Pivot left / Pivot right
Number of candles left/right to define a swing high/low
when using Pivot stop mode.
Typical intraday values: 2–3.
The script also sanity-checks the stop:
if the calculated stop would be invalid (e.g. above entry in a long), it moves it by a minimal distance (2 ticks) to keep a valid risk.
📈 4. HTF Trend Filter (Daily / Weekly / Monthly)
Group: “HTF Trend Filter”
Enable HTF trend filter
If enabled, trades are only allowed:
Long when at least 2 of D/W/M closes are above their EMA
Short when at least 2 of D/W/M closes are below their EMA
EMA length (D/W/M)
EMA length for all three higher timeframes (Daily, Weekly, Monthly).
This helps focus entries in the direction of the dominant higher-timeframe trend.
📊 5. ATR Filter (Daily)
Group: “ATR Filter (Daily)”
Use daily ATR filter
If enabled, the height of the ORB (ORB high – ORB low) must be within
a band of the Daily ATR to allow any signals.
Daily ATR length
ATR period on the Daily timeframe.
Min ORB size vs ATR
Lower bound:
Example: 0.3 → ORB must be at least 0.3 × Daily ATR
0.0 = no minimum.
Max ORB size vs ATR
Upper bound:
Example: 1.5 → ORB must be ≤ 1.5 × Daily ATR
0.0 = no maximum.
If the ORB is too small (choppy) or too large (exhausted move), no breakout or FVG signal will be generated on that day.
🧭 6. HTF Dashboard & Signal Labels
Group: “HTF Trend Dashboard”
Show HTF dashboard
Draws a small label at the top of the chart showing:
HTF Trend (EMA X)
D: UP/FLAT/DOWN
W: UP/FLAT/DOWN
M: UP/FLAT/DOWN
Dashboard position
Top Right, Top Center, Top Left – places the dashboard at the top.
Over Risk Info – no top dashboard; instead, the HTF trend info is shown as a label near the risk box when a new signal appears.
Lookback (bars) for top anchor
How many bars to use to determine the top price level for dashboard placement.
Show HTF trend above risk box on signal
Only relevant if Dashboard position = Over Risk Info.
When enabled, a small HTF label appears near the risk box for each new trade.
Signal label vertical offset (ticks)
Vertical spacing between risk info label and HTF label.
Minimum spacing HTF/Risk (ticks)
Ensures a minimum vertical distance so the two labels don’t overlap.
HTF signal label X offset (bars)
Horizontal offset (left/right) relative to the risk info label.
⏳ 7. ORB–FVG Filters (Session & Time Window)
Group: “ORB FVG Filter”
Only same session day
If enabled, FVG entries are only allowed on the same calendar day
as the ORB. When the date changes, all state & drawings are reset.
Limit hours after ORB
Enables a time window after the ORB end.
Trading window after ORB (hours)
Length of that window in hours.
Example: 2.0 → FVG signals only in the first 2 hours after ORB end.
💰 8. Risk Management & Position Sizing
Group: “Risk Management”
Calculate position size
If enabled, the script computes suggested mini and micro contract size for you.
Account size
Your trading account size (in account currency).
Risk mode
Percent – risk is a % of account size (Account risk %).
Fixed amount – risk is a fixed dollar amount (Fixed risk ($)).
Account risk %
Risk per trade as a percentage of account size (e.g. 1.0 for 1%).
Fixed risk ($)
Fixed risk per trade in dollars when using Fixed amount mode.
Micro factor (vs mini)
How much a micro contract is worth relative to a mini.
Example:
0.1 → one micro moves 1/10 of one mini.
Risk Info label
For each new trade, a label is shown above the boxes with:
Stop distance in price and $ risk per mini
Max risk allowed for the trade
Suggested mini and micro size
Text like:
Suggested: 2 mini
Suggested: 5 micro
or Suggested: no trade
This makes the script especially useful for prop-firm rules or strict risk discipline.
🎨 9. Visual Style (Boxes, Labels, ORB Lines)
Group: “Box & Label Style (Trade)”
Label font size (Very small, Small, Normal, Large)
Entry label BG / text color
Stop label BG / text color
TP label BG / text color
Risk info BG / text color
Risk box color (entry–stop zone)
Reward box color (entry–TP zone)
Group: “ORB Style”
ORB high line color
ORB low line color
ORB line width
ORB label font size
ORB label background color
ORB label text color
Show ORB midline
ORB midline color / width / style (Solid / Dashed / Dotted)
⚠️ 10. Alerts
Group: “Alerts”
The script defines three alert conditions:
Long entry FVG breakout
Triggered when a new long signal appears.
Short entry FVG breakout
Triggered when a new short signal appears.
FVG entry (long/short)
Generic alert for any new signal (long or short).
To use them:
Add the indicator to the chart.
Open the Alerts dialog → “Condition”.
Select this script and one of the alert conditions.
Set your preferred expiration and notification settings.
Alerts only fire when Enable FVG entry signals, boxes & alerts is on.
🧩 11. How the trading logic flows (summary)
Build ORB on 1-minute data during the selected session.
Optionally reject the day if ORB is outside the ATR bounds.
Wait for a breakout (close above high or below low), respecting HTF trend filter.
After breakout, look for the first valid FVG in that direction:
Outside the ORB (unless breakout FVG allowed inside)
Confirmed by the next candle (no full reclaim)
Once confirmed:
Compute entry, stop, target.
Draw risk/reward boxes and all labels.
Optionally show HTF signal label over the risk info.
Trigger alerts if enabled.
If you disable FVG signals, only steps 1–3 (plus dashboard) are effectively active.
⚠️ 12. Notes & Disclaimer
Script is intended for intraday trading up to 15-minute timeframes.
All signals are mechanical and do not guarantee profitability.
Always backtest and forward-test on your own data before risking real money.
This script is for educational purposes only and is not financial advice.
🚀 Quick-start guide
Add the script to your chart
Use an intraday timeframe ≤ 15 minutes (1m, 3m, 5m, 15m).
Works best on liquid indices, futures, FX and large-cap stocks.
Set the Morning Range
In “Morning Range Session” choose the exchange’s opening window.
Examples
US index futures (CME): 08:30–08:45 or 08:30–08:35
US stocks (NYSE/Nasdaq): 09:30–09:45 or 09:30–09:35
The ORB is always calculated on 1-minute data internally, so the range stays accurate on higher intraday charts.
Keep the default filters at first
HTF Trend Filter: ON
EMA length = 20
This will only allow trades in the direction of the dominant D/W/M trend.
ATR Filter: OFF (optional; you can enable later once you’re comfortable).
Use the full trade system
In the FVG group leave
“Enable FVG entry signals, boxes & alerts” = ON
Entry mode: Mid
Stop mode: FVG Candle or PrevBar
Risk/Reward: 2.0 as a starting point.
Set your risk
Turn on “Calculate position size”.
Enter your Account size and choose either:
Risk mode = Percent (e.g. 1.0 = 1% per trade), or
Risk mode = Fixed amount (e.g. $250 per trade).
The risk info label will show:
Stop distance in price and $/contract
Max allowed risk
Suggested mini and micro contract size.
Enable alerts (optional)
Open the Alerts dialog → Condition: this script.
Choose one of:
Long entry FVG breakout
Short entry FVG breakout
FVG entry (long/short)
Choose “Once per bar” or “Once per bar close”, and your preferred notification type.
Replay & journal
Use the TradingView bar replay tool to step through past days.
Focus on:
How the ORB defines the structure.
How the first confirmed FVG outside the ORB behaves.
Whether the risk/TP levels fit your own style and product.
🎛 Recommended settings & profiles
These are starting points, not rules. Always adapt to the instrument and your own risk tolerance.
1. Conservative / Trend-following
Timeframe: 5m or 15m
Morning Range Session: 15-minute ORB around the cash or futures open
FVG
Threshold %: 0.05–0.1 (filter out very small gaps)
Auto threshold: OFF (keep it simple)
Allow breakout FVG partly inside ORB: OFF
Enable FVG entry signals/boxes/alerts: ON
Entry mode: Mid
Stop Logic
Stop mode: Pivot
Pivot left/right: 2–3
Stop buffer: +1–2 ticks
HTF Trend Filter
Enabled: ON
EMA length: 20
ATR Filter
Enabled: ON
Daily ATR length: 14
Min ORB vs ATR: 0.3–0.4
Max ORB vs ATR: 1.2–1.5
Risk Management
Risk mode: Percent
Account risk: 0.5–1.0%
Idea: Only trade when the higher-timeframe trend supports the move and the opening range is of a “normal” size for the current volatility.
2. Balanced / Intraday directional
Timeframe: 3m or 5m
FVG
Threshold %: 0.02–0.05
Auto threshold: ON (lets the script adapt to volatility)
Allow breakout FVG partly inside ORB: ON
(first breakout FVG may partly sit inside the ORB)
Entry mode: Edge
Edge offset (ticks): 0 or +1
Stop Logic
Stop mode: FVG Candle
Stop buffer: 0–1 ticks
HTF Trend Filter
Enabled: ON
ATR Filter
Enabled: OFF (optional)
Risk Management
Risk mode: Percent
Account risk: 1.0–1.5% (if this fits your plan)
Idea: Slightly more aggressive entries at the gap edge, still aligned with HTF trend, but with more flexibility on ATR.
3. Aggressive / Scalping around the ORB
Timeframe: 1m or 3m
FVG
Threshold %: 0.0–0.02
Auto threshold: ON
Allow breakout FVG partly inside ORB: ON
Entry mode: NextOpen or Edge with a negative offset (deeper into the gap)
Stop Logic
Stop mode: PrevBar
Stop buffer: 0 or -1 tick
HTF Trend Filter
Enabled: OFF (or ON but treat as soft guidance)
ATR Filter
Enabled: OFF
Risk Management
Risk mode: Percent
Account risk: lower, e.g. 0.25–0.5% per trade
Idea: More trades and tighter stops. Best for experienced traders who understand the limitations of scalping and whipsaw risk.
Final reminder
All of these are templates, not guarantees:
Always check how the system behaves on your market and session.
Start on replay and demo before trading real money.
Adjust filters (HTF, ATR, thresholds) until the signals fit your personal approach.
Momentum Master v1# Momentum Master v1 - Multi-Strategy Trading System
## SCRIPT OVERVIEW
Momentum Master v1 is a multi-strategy trading system that integrates 6 distinct trading methodologies (EMA Crossover, RSI Mean Reversion, Breakout, MACD Crossover, Bollinger Bands, Volume Breakout) through a shared risk management pipeline. This script implements a proprietary integration framework that creates synergistic value beyond what individual indicators provide, combining advanced technical analysis techniques with institutional flow analysis.
## TECHNICAL METHODOLOGY
### Multi-Strategy Signal Generation Framework
The script operates on a shared execution framework where all six trading strategies share the same risk management system, but each strategy uses its own unique entry logic:
1. **EMA Crossover System**: Detects momentum shifts using configurable fast/slow EMA periods (Standard 9/21, Fast 7/17, Slow 13/26, or Custom)
2. **RSI Mean Reversion**: Identifies overbought/oversold conditions for counter-trend opportunities
3. **Breakout Detection**: Captures price breakouts from consolidation zones
4. **MACD Crossover**: Uses MACD line crossovers to confirm trend changes
5. **Bollinger Bands**: Trades bounces from band extremes and breakouts
6. **Volume Breakout**: Confirms moves with above-average volume
**Why This Integration Creates Unique Value:**
This is not a simple indicator mashup. The proprietary integration framework creates synergistic value through:
- **Shared Risk Management**: All strategies share ATR-based stop loss calculation and multiple take profit levels (TP1-TP6 with ratios 1:2, 1:4, 1:6, 1:8, 1:10, 1:12)
- **Adaptive Confidence Scoring**: The system evaluates market context from multiple perspectives simultaneously
- **Shared Filter System**: Optional filters (RSI extremes, ADX trend strength, Volume confirmation, POC proximity) apply uniformly across all strategies
## FLOW ANALYSIS INTEGRATION
### Fair Value Gap (FVG) Retracement Validation
The script implements proprietary FVG detection with retracement validation logic:
- **200-bar lookback** with **20% ATR tolerance** for gap identification
- **Retracement confirmation**: Signals can require price to retrace into a recent FVG before entry (optional filter)
- **Size filtering**: Only displays FVGs above minimum ATR threshold (configurable)
- **Visual tracking**: Shows last N FVGs with color-coded boxes (bullish green, bearish red)
**How FVG Integration Enhances Strategy Signals:**
When a strategy generates a signal, the FVG system validates whether price has recently retraced into an institutional order flow gap. This adds a layer of confirmation that the move is supported by institutional activity, not just retail momentum.
### Order Block Detection with Directional Alignment
- **Institutional accumulation/distribution zones**: Identifies the last bullish/bearish candle before a significant move
- **Directional filter**: Optional setting to only allow trades aligned with the most recent order block direction
- **ATR-based size filtering**: Filters out noise by requiring minimum order block size
- **Visual display**: Shows order blocks as colored boxes extending N bars forward
**Integration Logic:**
Order blocks represent areas where institutions accumulated or distributed positions. When a strategy signal occurs near an order block, it indicates higher probability that the move will continue in the block's direction.
### Multi-Timeframe POC (Point of Control) Analysis
The script calculates and displays POC levels from multiple timeframes:
- **Volume Profile POC**: Highest volume price over last N bars (configurable lookback)
- **Session POC**: Point of control for current trading session
- **Daily POC**: Daily volume-weighted average price
- **Weekly POC**: Weekly volume-weighted average price (optional)
**POC Proximity Filtering:**
Optional filters allow signals only when price is within X ATR of a POC level. This ensures entries occur at statistically significant price levels where liquidity is concentrated.
## FIBONACCI EXTENSION SYSTEM
### Dynamic Fibonacci Calculation
- **Swing-based detection**: Automatically identifies swing highs and lows using configurable lookback period
- **Extension levels**: Calculates Fibonacci extension levels (0.618, 0.786, 1.0, 1.272, 1.414, 1.618, 2.0, 2.618)
- **Retracement levels**: Shows standard retracement levels (0.236, 0.382, 0.5, 0.618, 0.786)
- **Negative levels**: Optional negative Fibonacci levels (-0.27, -0.618) for extended targets
**How Fibonacci Enhances Risk Management:**
Take profit levels are automatically calculated using Fibonacci extension mathematics. The system identifies the swing structure and projects potential reversal zones, allowing traders to set targets based on mathematical probability rather than arbitrary price levels.
## LIQUIDITY ZONE DETECTION
### Buy and Sell Side Liquidity
- **Swing-based liquidity zones**: Identifies recent swing highs (sell-side liquidity) and swing lows (buy-side liquidity)
- **Configurable lookback**: Adjustable period for liquidity zone detection
- **Visual display**: Horizontal lines extending N bars forward to show liquidity targets
- **Maximum zones**: Limits display to most recent N zones to avoid chart clutter
**Trading Application:**
Liquidity zones represent areas where stop losses are likely clustered. Price often moves to "sweep" these liquidity zones before reversing, creating high-probability entry opportunities.
## RISK MANAGEMENT SYSTEM
### ATR-Based Stop Loss Calculation
- **Dynamic stop placement**: Stop loss calculated using ATR (Average True Range) with configurable multiplier
- **Adaptive to volatility**: Stop loss automatically adjusts to current market volatility conditions
- **Configurable ATR period**: Default 14-period ATR, adjustable from 5-30 periods
- **SL multiplier**: Adjustable from 0.5x to 10x ATR for different risk profiles
### Multiple Take Profit Levels
The system supports up to 6 take profit levels with fixed risk-reward ratios:
- **TP1**: 1:2 risk-reward ratio
- **TP2**: 1:4 risk-reward ratio
- **TP3**: 1:6 risk-reward ratio
- **TP4**: 1:8 risk-reward ratio (optional)
- **TP5**: 1:10 risk-reward ratio (optional)
- **TP6**: 1:12 risk-reward ratio (optional)
**Why Multiple TP Levels:**
This allows partial profit-taking at key Fibonacci extension levels while letting winners run. The system tracks win rates for each TP level, helping traders optimize their exit strategy.
## SIGNAL FILTERS (OPTIONAL ENHANCEMENTS)
### RSI Extreme Filter
- **Avoid overbought/oversold extremes**: Prevents entries when RSI is in extreme zones (default: >70 overbought, <30 oversold)
- **Configurable thresholds**: Adjustable RSI levels and calculation period
- **Purpose**: Reduces false signals in exhausted moves
### ADX Trend Strength Filter
- **Avoid choppy markets**: Only allows trades when ADX indicates trending conditions (default: ADX > 20)
- **Configurable threshold**: Adjustable ADX minimum value (10-50)
- **Purpose**: Filters out low-probability trades in ranging markets
### Volume Confirmation
- **Volume multiplier**: Requires volume above X times average (default: 1.1x)
- **Purpose**: Ensures moves are supported by institutional participation
### POC Proximity Filters
- **Volume POC filter**: Only enter when price is near Volume Profile POC
- **Session POC filter**: Only enter when price is near Session POC
- **Daily POC filter**: Only enter when price is near Daily POC
- **Weekly POC filter**: Only enter when price is near Weekly POC
- **Proximity threshold**: Configurable ATR multiplier for "near" definition (default: 2.0x ATR)
---
## DIVERGENCE DETECTION
### MFI (Money Flow Index) Divergence
- **Bullish divergence**: Price makes lower low, MFI makes higher low (potential reversal up)
- **Bearish divergence**: Price makes higher high, MFI makes lower high (potential reversal down)
- **Configurable lookback**: Adjustable period for divergence detection (default: 100 bars)
- **Minimum bars between divergences**: Prevents duplicate signals (default: 10 bars)
- **Advanced thresholds**: Separate thresholds for RSI, price, and MFI divergence strength
**Note**: Divergence detection is visual-only and does not filter trades. It provides additional market context for discretionary traders.
## MARKET CONTEXT TOOLS
### Session High/Low Lines
- **Recent session extremes**: Displays horizontal lines for session high and low
- **Configurable lookback**: Adjustable period for session calculation (default: 10 bars)
- **Purpose**: Identifies key intraday support/resistance levels
### Swing Point Detection
- **Automatic swing identification**: Marks significant swing highs and lows
- **Visual reference**: Helps identify market structure and trend direction
### Signal Overview Table
Real-time technical analysis overview:
- **Current RSI**: Relative Strength Index value
- **ATR**: Current Average True Range
- **ADX**: Average Directional Index (trend strength)
- **EMA status**: Current fast/slow EMA relationship (Bullish/Bearish/Neutral)
- **POC levels**: Current price relative to POC levels
- **Confidence score**: Calculated confidence percentage based on confluence
- **Volume trend**: Current volume trend direction
## CHART DISPLAY OPTIONS
### Entry/SL/TP Lines
- **Visual trade management**: Displays entry price, stop loss, and all take profit levels as horizontal lines
- **Configurable length**: Lines extend N bars forward (default: 30 bars)
- **Color-coded**: Different colors for entry, stop loss, and each TP level
### Win/Loss Labels
- **Trade verification**: Displays up to 500 individual win/loss labels on chart
- **Visual feedback**: Green labels for wins, red labels for losses
- **Performance tracking**: Helps verify strategy performance visually
## USAGE INSTRUCTIONS
### Initial Setup
1. **Select Strategy Mode**: Choose your preferred trading strategy from the dropdown (EMA Crossover, RSI Mean Reversion, Breakout, MACD Crossover, Bollinger Bands, Volume Breakout, or Disabled)
2. **Configure Risk Management**:
- Set ATR Length for stop loss calculation (default: 14)
- Set SL ATR Multiplier (default: 1.0)
- Enable additional TP levels if desired (TP4-TP6 are optional)
3. **Adjust Strategy Parameters**: Each strategy has its own settings group. Configure EMA periods, RSI settings, MACD parameters, etc., based on your selected strategy.
### Recommended Settings by Market Type
**Forex/Crypto (High Volatility)**:
- EMA Mode: Fast (7/17) or Custom (3/21)
- SL ATR Multiplier: 1.5-2.0
- Enable FVG retracement filter
- Enable Order Block directional filter
**Stocks (Moderate Volatility)**:
- EMA Mode: Standard (9/21)
- SL ATR Multiplier: 1.0-1.5
- Enable ADX filter to avoid choppy markets
- Enable Volume confirmation
**Indices (Lower Volatility)**:
- EMA Mode: Slow (13/26)
- SL ATR Multiplier: 0.8-1.2
- Enable POC proximity filters
- Enable RSI extreme filter
### Advanced Configuration
1. **Enable Optional Filters**: Navigate to "Signal Filters" section and enable filters that match your trading style
2. **Configure Market Analysis Tools**: Adjust FVG, Order Block, Fibonacci, and POC settings in their respective sections
3. **Customize Display**: Toggle chart display options to show/hide various elements based on your preference
---
## WHY THIS INDICATOR COMBINATION CREATES UNIQUE VALUE
### Multi-Layered Confluence Analysis
This script is not a simple indicator mashup. It implements a proprietary integration framework that creates synergistic value through three layers of analysis:
**Layer 1: Fibonacci Mathematics**
- Golden Zone identification (61.8%-78.6% retracement zone) using three-point trend-based calculation
- Extension targets based on swing structure mathematics
- Statistically significant retracement areas where price is likely to reverse
**Layer 2: Institutional Flow Analysis**
- Fair Value Gaps (FVGs) identify order flow gaps where price must return
- Order Blocks mark institutional accumulation/distribution zones
- Multi-timeframe POC analysis shows where liquidity is concentrated
- Liquidity zones identify where stop losses cluster
**Layer 3: Multi-Strategy Signal Generation**
- Six different entry methodologies provide multiple perspectives
- Shared risk management ensures consistent position sizing
- Adaptive confidence scoring evaluates confluence from all three layers
- Optional filters allow customization for different market conditions
### Proprietary Integration Framework
The unique value comes from how these components work together:
1. **Strategy generates signal** → 2. **FVG/Order Block validates institutional support** → 3. **POC confirms liquidity level** → 4. **Fibonacci provides target zones** → 5. **Risk management calculates optimal SL/TP placement**
This creates a complete trading system, not just a collection of indicators.
---
## TECHNICAL SPECIFICATIONS
- **Pine Script Version**: v6
- **Chart Type**: Overlay (displays on price chart)
- **Max Bars Back**: 5000 (for historical analysis)
- **Max Labels**: 500 (for win/loss tracking)
- **Compatibility**: Works on all timeframes and instruments
- **Performance**: Optimized for real-time execution
---
## DISCLAIMER
This script is a technical analysis tool and does not constitute financial, investment, trading, or other types of advice. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose. The script's signals are based on mathematical calculations and should be used in conjunction with your own analysis and risk management practices.
---
## SUPPORT AND ACCESS
This is an invite-only script. To request access:
1. Visit: www.pinescriptedge.com
2. Include your TradingView username and brief trading experience
3. Access will be reviewed and granted within 24 hours
**Note**: TradingView does NOT recommend paying for or using a script unless you fully trust its author and understand how it works. You may also find free, open-source alternatives in our community scripts.
---
## VERSION INFORMATION
**Momentum Master v1** - Initial release with multi-strategy framework and institutional flow analysis integration.
For updates and new features, follow the script or check the author's profile for version announcements.
LibTmFrLibrary "LibTmFr"
This is a utility library for handling timeframes and
multi-timeframe (MTF) analysis in Pine Script. It provides a
collection of functions designed to handle common tasks related
to period detection, session alignment, timeframe construction,
and time calculations, forming a foundation for
MTF indicators.
Key Capabilities:
1. **MTF Period Engine:** The library includes functions for
managing higher-timeframe (HTF) periods.
- **Period Detection (`isNewPeriod`):** Detects the first bar
of a given timeframe. It includes custom logic to handle
multi-month and multi-year intervals where
`timeframe.change()` may not be sufficient.
- **Bar Counting (`sinceNewPeriod`):** Counts the number of
bars that have passed in the current HTF period or
returns the final count for a completed historical period.
2. **Automatic Timeframe Selection:** Offers functions for building
a top-down analysis framework:
- **Automatic HTF (`autoHTF`):** Suggests a higher timeframe
(HTF) for broader context based on the current timeframe.
- **Automatic LTF (`autoLTF`):** Suggests an appropriate lower
timeframe (LTF) for granular intra-bar analysis.
3. **Timeframe Manipulation and Comparison:** Includes tools for
working with timeframe strings:
- **Build & Split (`buildTF`, `splitTF`):** Functions to
programmatically construct valid Pine Script timeframe
strings (e.g., "4H") and parse them back into their
numeric and unit components.
- **Comparison (`isHigherTF`, `isActiveTF`, `isLowerTF`):**
A set of functions to check if a given timeframe is
higher, lower, or the same as the script's active timeframe.
- **Multiple Validation (`isMultipleTF`):** Checks if a
higher timeframe is a practical multiple of the current
timeframe. This is based on the assumption that checking
if recent, completed HTF periods contained more than one
bar is a valid proxy for preventing data gaps.
4. **Timestamp Interpolation:** Contains an `interpTimestamp()`
function that calculates an absolute timestamp by
interpolating at a given percentage across a specified
range of bars (e.g., 50% of the way through the last
20 bars), enabling time calculations at a resolution
finer than the chart's native bars.
---
**DISCLAIMER**
This library is provided "AS IS" and for informational and
educational purposes only. It does not constitute financial,
investment, or trading advice.
The author assumes no liability for any errors, inaccuracies,
or omissions in the code. Using this library to build
trading indicators or strategies is entirely at your own risk.
As a developer using this library, you are solely responsible
for the rigorous testing, validation, and performance of any
scripts you create based on these functions. The author shall
not be held liable for any financial losses incurred directly
or indirectly from the use of this library or any scripts
derived from it.
buildTF(quantity, unit)
Builds a Pine Script timeframe string from a numeric quantity and a unit enum.
The resulting string can be used with `request.security()` or `input.timeframe`.
Parameters:
quantity (int) : series int Number to specifie how many `unit` the timeframe spans.
unit (series TFUnit) : series TFUnit The size category for the bars.
Returns: series string A Pine-style timeframe identifier, e.g.
"5S" → 5-seconds bars
"30" → 30-minute bars
"120" → 2-hour bars
"1D" → daily bars
"3M" → 3-month bars
"24M" → 2-year bars
splitTF(tf)
Splits a Pine‑timeframe identifier into numeric quantity and unit (TFUnit).
Parameters:
tf (string) : series string Timeframe string, e.g.
"5S", "30", "120", "1D", "3M", "24M".
Returns:
quantity series int The numeric value of the timeframe (e.g., 15 for "15", 3 for "3M").
unit series TFUnit The unit of the timeframe (e.g., TFUnit.minutes, TFUnit.months).
Notes on strings without a suffix:
• Pure digits are minutes; if divisible by 60, they are treated as hours.
• An "M" suffix is months; if divisible by 12, it is converted to years.
autoHTF(tf)
Picks an appropriate **higher timeframe (HTF)** relative to the selected timeframe.
It steps up along a coarse ladder to produce sensible jumps for top‑down analysis.
Mapping → chosen HTF:
≤ 1 min → 60 (1h) ≈ ×60
≤ 3 min → 180 (3h) ≈ ×60
≤ 5 min → 240 (4h) ≈ ×48
≤ 15 min → D (1 day) ≈ ×26–×32 (regular session 6.5–8 h)
> 15 min → W (1 week) ≈ ×64–×80 for 30m; varies with input
≤ 1 h → W (1 week) ≈ ×32–×40
≤ 4 h → M (1 month) ≈ ×36–×44 (~22 trading days / month)
> 4 h → 3M (3 months) ≈ ×36–×66 (e.g., 12h→×36–×44; 8h→×53–×66)
≤ 1 day → 3M (3 months) ≈ ×60–×66 (~20–22 trading days / month)
> 1 day → 12M (1 year) ≈ ×(252–264)/quantity
≤ 1 week → 12M (1 year) ≈ ×52
> 1 week → 48M (4 years) ≈ ×(208)/quantity
= 1 M → 48M (4 years) ≈ ×48
> 1 M → error ("HTF too big")
any → error ("HTF too big")
Notes:
• Inputs in months or years are restricted: only 1M is allowed; larger months/any years throw.
• Returns a Pine timeframe string usable in `request.security()` and `input.timeframe`.
Parameters:
tf (string) : series string Selected timeframe (e.g., "D", "240", or `timeframe.period`).
Returns: series string Suggested higher timeframe.
autoLTF(tf)
Selects an appropriate **lower timeframe LTF)** for intra‑bar evaluation
based on the selected timeframe. The goal is to keep intra‑bar
loops performant while providing enough granularity.
Mapping → chosen LTF:
≤ 1 min → 1S ≈ ×60
≤ 5 min → 5S ≈ ×60
≤ 15 min → 15S ≈ ×60
≤ 30 min → 30S ≈ ×60
> 30 min → 60S (1m) ≈ ×31–×59 (for 31–59 minute charts)
≤ 1 h → 1 (1m) ≈ ×60
≤ 2 h → 2 (2m) ≈ ×60
≤ 4 h → 5 (5m) ≈ ×48
> 4 h → 15 (15m) ≈ ×24–×48 (e.g., 6h→×24, 8h→×32, 12h→×48)
≤ 1 day → 15 (15m) ≈ ×26–×32 (regular sessions ~6.5–8h)
> 1 day → 60 (60m) ≈ ×(26–32) per day × quantity
≤ 1 week → 60 (60m) ≈ ×32–×40 (≈5 sessions of ~6.5–8h)
> 1 week → 240 (4h) ≈ ×(8–10) per week × quantity
≤ 1 M → 240 (4h) ≈ ×33–×44 (~20–22 sessions × 6.5–8h / 4h)
≤ 3 M → D (1d) ≈ ×(20–22) per month × quantity
> 3 M → W (1w) ≈ ×(4–5) per month × quantity
≤ 1 Y → W (1w) ≈ ×52
> 1 Y → M (1M) ≈ ×12 per year × quantity
Notes:
• Ratios for D/W/M are given as ranges because they depend on
**regular session length** (typically ~6.5–8h, not 24h).
• Returned strings can be used with `request.security()` and `input.timeframe`.
Parameters:
tf (string) : series string Selected timeframe (e.g., "D", "240", or timeframe.period).
Returns: series string Suggested lower TF to use for intra‑bar work.
isNewPeriod(tf, offset)
Returns `true` when a new session-aligned period begins, or on the Nth bar of that period.
Parameters:
tf (string) : series string Target higher timeframe (e.g., "D", "W", "M").
offset (simple int) : simple int 0 → checks for the first bar of the new period.
1+ → checks for the N-th bar of the period.
Returns: series bool `true` if the condition is met.
sinceNewPeriod(tf, offset)
Counts how many bars have passed within a higher timeframe (HTF) period.
For daily, weekly, and monthly resolutions, the period is aligned with the trading session.
Parameters:
tf (string) : series string Target parent timeframe (e.g., "60", "D").
offset (simple int) : simple int 0 → Running count for the current period.
1+ → Finalized count for the Nth most recent *completed* period.
Returns: series int Number of bars.
isHigherTF(tf, main)
Returns `true` when the selected timeframe represents a
higher resolution than the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` > active TF; otherwise `false`.
isActiveTF(tf, main)
Returns `true` when the selected timeframe represents the
exact resolution of the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` == active TF; otherwise `false`.
isLowerTF(tf, main)
Returns `true` when the selected timeframe represents a
lower resolution than the active timeframe.
Parameters:
tf (string) : series string Selected timeframe.
main (bool) : series bool When `true`, the comparison is made against the chart's main timeframe
instead of the script's active timeframe. Optional. Defaults to `false`.
Returns: series bool `true` if `tf` < active TF; otherwise `false`.
isMultipleTF(tf)
Returns `true` if the selected timeframe (`tf`) is a practical multiple
of the active skript's timeframe. It verifies this by checking if `tf` is a higher timeframe
that has consistently contained more than one bar of the skript's timeframe in recent periods.
The period detection is session-aware.
Parameters:
tf (string) : series string The higher timeframe to check.
Returns: series bool `true` if `tf` is a practical multiple; otherwise `false`.
interpTimestamp(offStart, offEnd, pct)
Calculates a precise absolute timestamp by interpolating within a bar range based on a percentage.
This version works with RELATIVE bar offsets from the current bar.
Parameters:
offStart (int) : series int The relative offset of the starting bar (e.g., 10 for 10 bars ago).
offEnd (int) : series int The relative offset of the ending bar (e.g., 1 for 1 bar ago). Must be <= offStart.
pct (float) : series float The percentage of the bar range to measure (e.g., 50.5 for 50.5%).
Values are clamped to the range.
Returns: series int The calculated, interpolated absolute Unix timestamp in milliseconds.
Range Bar Gaps DetectorRange Bar Gaps Detector
Overview
The Range Bar Gaps Detector identifies price gaps across multiple range bar sizes (12, 24, 60, and 120) on any trading instrument, helping traders spot potential support/resistance zones or breakout opportunities. Designed for Pine Script v6, this indicator detects gaps on range bars and exports data for use in companion scripts like Range Bar Gaps Overlap, making it ideal for multi-timeframe gap analysis.
Key Features
Multi-Range Gap Detection: Identifies gaps on 12, 24, 60, and 120-range bars, capturing both bullish (gap up) and bearish (gap down) price movements.
Customizable Sensitivity: Includes a user-defined minimum deviation (default: 10% of 14-period SMA) for 12-range gaps to filter out noise.
7-Day Lookback: Automatically prunes gaps older than 7 days to focus on recent, relevant price levels.
Data Export: Serializes up to 10 gaps per range (tops, bottoms, start bars, highest/lowest prices, and age) for seamless integration with overlap analysis scripts.
Debugging Support: Plots gap counts and aggregation data in the Data Window for easy verification of detected gaps.
How It Works
The indicator aggregates price movements to simulate higher range bars (24, 60, 120) from a base range bar chart. It detects gaps when the price jumps significantly between bars, ensuring gaps meet the minimum deviation threshold for 12-range bars. Gaps are stored in arrays, serialized for external use, and pruned after 7 days to maintain efficiency.
Usage
Add to your range bar chart (e.g., 12-range) to detect gaps across multiple ranges.
Use alongside the Range Bar Gaps Overlap indicator to visualize gaps and their overlaps as boxes on the chart.
Check the Data Window to confirm gap counts and sizes for each range (12, 24, 60, 120).
Adjust the "Minimal Deviation (%) for 12-Range" input to control gap detection sensitivity.
Settings
Minimal Deviation (%) for 12-Range: Set the minimum gap size for 12-range bars (default: 10% of 14-period SMA).
Range Sizes: Fixed at 24, 60, and 120 for higher range bar aggregation.
Notes
Ensure the script is published under your TradingView username (e.g., GreenArrow2005) for use with companion scripts.
Best used on range bar charts to maintain consistent gap detection.
For advanced overlap analysis, pair with the Range Bar Gaps Overlap indicator to highlight zones where gaps from different ranges align.
Ideal For
Traders seeking to identify key price levels for support/resistance or breakout strategies.
Multi-timeframe analysts combining gap data across various range bar sizes.
Developers building custom indicators that leverage gap data for advanced charting.






















